c语言中为什么会出现正数加正数是负数的情况如1+2=-48

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/28 09:18:00

c语言中为什么会出现正数加正数是负数的情况如1+2=-48
c语言中为什么会出现正数加正数是负数的情况
如1+2=-48

c语言中为什么会出现正数加正数是负数的情况如1+2=-48
这和C语言中数据的储存有关.C语言中数据的储存空间是有限的,比如说整型数据,占四个字节,从而整型数是有范围的,从-2^31+1到2^31,正负号根据二进制数第一位决定.并且运算是以二进制来进行的,当两个数加和超出范围时,自动舍去超出的位数(二进制),所以当然可能两个很大的正数相加等于负数咯.

如果涉及非常大的数,有可能会溢出.C语言最大可显示65535,即2^16-1;最高位(二进制第16位)为1表示负数.如果两数的和大于65535,则只能显示负数.
如果1+2=-48,这肯定不是相加的结果.你可能调用了其它的函数.

两个正数相加的和越界了

c语言中为什么会出现正数加正数是负数的情况如1+2=-48 C语言中为什么用补码表示负数,而不是直接在正数的前面加1呢 正数 负数 正数 负数 正数 负数...A B C D 按着样的规律 在A处是正数还是负数 负数加负数,是正数还是负数? 为什么正数加负数=负数 C语言中“%#+d”是不是代表自动输出某个数是正数还是负数?. 负数减一个正数等于正数还是负数?如果是负数,结果=负数加那个正数的倒数还是减去那个正数的倒数? 谁知道 负数减负数、负数加负数、正数减正数、正数加正数、正数减负数、正数加负数.看下面负数减正数、负数加正数,得数的符号是正数还是负数.答案要绝对正确、详细,别说的是错的,假 为什么负数的平方是正数,负的三次根号下2的平方会是正数么? 是关于有理数和绝对值的!请帮个忙!首先是绝对值的问题.正数的绝对值是正数,负数的绝对值也是正数,0是绝对值是0,那为什么会出现【当a是正数时,a的绝对值是a,当a是负数时,a的绝对值是-a【 一个有理数的绝对值( ) A:是正数 B:是负数 C:不是正数 D:不是负数 负a一定是( ) A 正数 B 负数 C 正数或负数 D负a一定是( ) A 正数 B 负数 C 正数或负数 D 正数或零或负数 要证明为什么选这个 表示-a的数是( ) A.负数 B.正数 C.正数或负数 D.有理数 -x表示的数是 A、负数 B、正数 C、正数或负数 D、都不对 一个有理数的平方一定是,a负数,b正数,c非负数,d非正数 一个有理数的平方是正数,那么这个有理数的平方是.( )A.正数B.负数C.正数或负数D.正数负数或零 数学的负数正数的加减乘除怎么算啊,就是负数减正数加正数'正数加负...数学的负数正数的加减乘除怎么算啊,就是负数减正数加正数'正数加负数减负数的 一个数的偶次幂是正数,这个数是(  )A 正数 B负数 C正数或负数 D 任何有理数