在C语言中,何为整型数的溢出?位操作符和移位操作符又是什么?

 我来答
天外云鹤
2011-07-04 · 超过16用户采纳过TA的回答
知道答主
回答量:67
采纳率:0%
帮助的人:46.9万
展开全部
所谓的溢出是超出所能表示的范围了..比如说一个字节能表示的最大个数是2^8 - 1,当然没有算符号位..我们就按这种状态下来举例
溢出::::::
a = 11111111; 那a这个数已经把8位全部用1表示满了,这时候b = 00000001够小了吧,这个时候如果算c = a+b; 限定c只能用一个字节表示,那加完之后就会出现溢出情况,a已经不能再加了,再加也不会比它能表示的最大的数大了..同样的道理,C语言整数用几个字节表示跟CPU是多少位的也有关系的,当然也跟编译的软件有关系,超过整数所能表示的范围就叫溢出...

位移:::::::
楼上的已经写出来了...
人工神话
2011-07-03 · 超过12用户采纳过TA的回答
知道答主
回答量:45
采纳率:0%
帮助的人:26.4万
展开全部
1、int型为16位,最前面一位是正负号标志位,所以它的范围是-32768到32767,不在这个范围就溢出。
2、位操作就是与、或、异或操作,操作符:&、|、^,移位操作是向左移或向右移,相当于乘2或除2操作,操作符是:>>、<<
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式