# include <studio.h> void main() { unsigned int a

1个回答
展开全部
摘要 要看什么机器什么的编译器才能得出结果。
的确a=65535 十六进制是0xFFFF
但如果unsigned int 类型是4字节的,你打印出来的依然是
a=65535
如果unsigned int 类型是2字节的,这时就是-1了
因为计算机采取的是补码来保存数据的
a=65535 二进制就是1111 1111 1111 1111,这是补码,第一位是符号位,等于1时就表示是负数。
111 1111 1111 1111 减1再取反就是000 0000 0000 0001 这就是十进制的1了
再加上负号就是-1了
咨询记录 · 回答于2021-10-08
# include void main() { unsigned int a
要看什么机器什么的编译器才能得出结果。的确a=65535 十六进制是0xFFFF但如果unsigned int 类型是4字节的,你打印出来的依然是a=65535如果unsigned int 类型是2字节的,这时就是-1了因为计算机采取的是补码来保存数据的a=65535 二进制就是1111 1111 1111 1111,这是补码,第一位是符号位,等于1时就表示是负数。111 1111 1111 1111 减1再取反就是000 0000 0000 0001 这就是十进制的1了再加上负号就是-1了
这一题
下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

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

说明

0/200

提交
取消