永发信息网

如何抑制一些无符号整数溢出错误

答案:2  悬赏:10  手机版
解决时间 2021-03-05 10:37
如何抑制一些无符号整数溢出错误
最佳答案
从题上看这应该是16bit无符号整数,范围是0-65535。那个n表示的是整数的位数,这里n=16.这段话的意思就是如果无符号整数溢出,结果应该是实际的结果对2^n取模。比如65535+1=65536超出了0-65535的范围,所以结果应该是65536%2^16=0
全部回答
C语言中存在两种整数算术运算,有符号型和无符号型。无符号数运算:所有无符号数运算都是以2的n次方为模,(n是结果中的位数)。所以它不存在运算时的没有那种所谓的“溢出”,当它超过范围时,从零开始重新计数!当一个无符号数和有符号数相加的时候,有符号数会自动转化为无符号数参与运算!有符号数运算: 是可能发生“溢出”的,而且“溢出”的结果不固定。
关于无符号数减去无符号数的用法错误:
if ( i - j >=0) 假如i,j为无符号数,这样写可能会引发错误,即当i小于j的时候,这个式子仍然成立,因为无符号数始终是大于等于零的。例: if ( strlen( a ) >= 10) 与 if (strlen ( b ) -10 >= 0) 这两条语句是不相等的 ,因为strlen函数返回的是无符号数类型。
ANSI C规定在无符号整数和有符号整数之间进行强制类型转换时,位模式不应该改变。类型转换并未改变对象的位模式,改变的是位模式的解释方式。
有符号数转换为无符号数时,负数转换为大的正数(可以理解为原值加上2的n次方),而正数保持不变。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
一个女孩子和你认识几天就去开房,那样的女孩
朋友去香港,我可以让他用我的信用卡帮我带东
北大荒集团黑龙江北大荒文化发展公司在什么地
化纤类布料染色过程中一般染料要经过高温染到
用绞尽脑汁和活蹦乱跳造句
华为手机刚刚买一个月进水能保修吗
TCL空调连接WIFI失败了!灯光老是闪PP怎么关掉
宝贝家婴童生活馆怎么去啊,有知道地址的么
经常梳头有什么好处
港行的诺基亚E63手机,是繁体字还是简体字?
已知实数 x,y 满足方程x2+y2-4x+1=0,则yx的
求CCTV9中任意一篇记录片的观后感,不要太多
当日连带是什么意思
微积分,泰勒公式,佩亚诺型余项,计算到最后最
男士帆布鞋什么牌子好
推荐资讯
office2016的ppt怎么使用
《在山的那边》内“在一瞬间照亮你的眼睛”有
我在国外我想知道有没有银行卡可以在国内存直
和男朋友吵架,他不主动认错道歉,已经几天了
【c20混凝土配合比】C20混凝土配合比问题请问
明清的内阁距离皇帝寝宫1000米,清朝的军机处
qq飞车植树宝箱玩什么可以获得
髋骨是由A.坐骨与耻骨融合而成B.髂骨与耻骨融
中国移动通信手机专卖店(天昊店)地址有知道的
15(2x-3)-3(5x-20)=150 求求各位了!!!
三家苗地址在哪,我要去那里办事
小米手机的系统升级 强行停止不好用呢,几次
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?