C语言中如果定义无符号整型a=65535是属于什么进制? 为什么按%d格式输出时a=1?

2024-12-15 17:47:20
推荐回答(3个)
回答1:

一楼的解答搞错了,无符号整型的范围是0-65535,而不是0-65534。无符号整型在C语言中占用两个字节,一个字节是八位,两个字节就是十六位,然后用二进制代码表示就是0000 0000 0000 0000~1111 1111 1111 1111(这个换算成十进制就是65535)
补充:对于有符号整型,也是占用两个字节,最高位为符号位,即最左边的那一位,最高位是1,表示负数,最高位是0,表示正数。故有符号整型表示的范围是
-32768~32767,讲解可能有点模糊,大家可以自行查阅理解。

回答2:

1、 属于十进制
2、 无符号整型的范围是 0-65535,包括0在内一共65535个,也就是0-65534

如果所有都赋给a , 就会溢出.

回答3:

因为溢出了.