C语言 格式输出问题
发布网友
发布时间:2022-06-03 14:00
我来回答
共4个回答
热心网友
时间:2023-10-20 18:46
short i;
i=-4;
i为短整型的,占用内存是2字节,即16位二进制,
4:0000 0000 0000 0100(二进制表示)
所以
-4:1111 1111 1111 1011(二进制表示)
转换成十六进制(hec)为fffc
1 111 111 111 111 011
转换成八进制(oct)为177774
而unsigned是指无符号的整形数据,其值的范围是0~65535,因为i的初始值为-4,所以输出的i的值为65532。
热心网友
时间:2023-10-20 18:47
dec:为十进制的缩写 所以i的值是-4;
oct:为八进制的缩写 所以i的值是177774;
hex:为十六进制的缩写 所以i的值是fffc;
unsigned:是指无符号的整形数据,其值的范围是0~65535,因为i的初始值为-4,所以输出的i的值为65532。
还有什么疑问可以给我留言,或直接Hi我。哦累死了
参考资料:http://ke.baidu.com/view/2067328.htm
热心网友
时间:2023-10-20 18:47
在存储单元内的首位是符号位,负数是1,计算机在把数据转存在存储空间的存储单元内的时候,是按二进制反码存储的,你可以自己推算一下,负数转换成无符号数时符号位没有变,直接参与转换运算,所以就出现这个结果了。
热心网友
时间:2023-10-20 18:48
进制问题负号也算上了