如图:C语言程序中无符号数a的值是负数,为什么作整形输出时的结果是64870?
来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/10 14:51:57
如图:C语言程序中无符号数a的值是负数,为什么作整形输出时的结果是64870?
为什么是这个64870?这个计数的结果是如何过来的?
负数在内存中是以补码的形式存储的,
即 -666
原码:1000 0010 1001 1010
反码:1111 1101 0110 0101 (符号位不变,其它位取反)
补码:1111 1101 0110 0110 (反码+1)
即,实际内存中的数据为0b1111 1101 0110 0110=64870
而a为unsigned short int,所以反馈的应该就是64870正数.
即 -666
原码:1000 0010 1001 1010
反码:1111 1101 0110 0101 (符号位不变,其它位取反)
补码:1111 1101 0110 0110 (反码+1)
即,实际内存中的数据为0b1111 1101 0110 0110=64870
而a为unsigned short int,所以反馈的应该就是64870正数.
如图:C语言程序中无符号数a的值是负数,为什么作整形输出时的结果是64870?
如图C语言程序,这个定义一个无符号数a,但是赋了一个-66666的一个负数,但是为什么打印输出也是负数?
为什么整形数阶乘会变负数?例如编写一个程序,输入n输出n的阶乘,当n>20时输出负数?
C语言中,unsigned u表示无符号整形变量?
C, %u代表什么代表无符号整数 是不是我定义a=-1,输出是调用%u,输出的结果是1呢?我运行 出来是一个很大的数
在C语言中如何用程序输出逻辑表达式的值
C语言 将这个负数赋给无符号数的过程!
C语言里a是一个无符号整形变量,语句a=a>15是什么意思?有什么作用?
无符号整形能为负数吗?如果计算结果是负,他最终结果是什么?
无符号整形数据按位取反 unsigned int a=0; a=~a; 为什么a会等于-1?a不是无符号整形的数据吗?
为什么C语言中 整形变量的取值范围下限比上线绝对值大一啊?
c语言中,从第一列开始输入以下数据 2743回车 则程序输出的结果是多少?