int x = -3; unsigned int ux = x; ux的值是多少?

2024-11-21 17:48:34
推荐回答(2个)
回答1:

这个可以将它转化成二进制看,-3的二进制位10000000,00000000,00000000,00000011(int占四个字节的情况下)将x的值赋给ux,也就是说ux在内存中的二进制值为上面这么长的一串,又ux为无符号整型数,将它再转化回来,反正很大就是了!

回答2:

其实这关系他的存储。
整形都是以补码存储的。
你给ux赋值是无符号整形。其实他存储的和x的都是一样的。
你输出都是一样的。
只是看你用什么方法输出而已。
如:
%d输出,这是-3、
%u(无符号整形),这是这个很大的数,呵呵,不写出来了。
呵呵。