C语言有符号和无符号的有什么不同啊

C语言中有signed和unsinged的,有什么不同呢!谢谢大家了!
2024-11-21 17:55:28
推荐回答(2个)
回答1:

比如说整型变量吧。unsigned int 是从0到2的32次方减1,而signed int 是从负2的31次方到正2的31次方减1.
在计算机里,整型变量占用4字节,也就是32位的存储空间。对于有符号数来说,正负号要单独占一位。所以除去符号位以外,数的绝对值就占31位。这就是有符号和无符号的区别。

回答2:

有符号数如果高位为1,则为负数的补码。对于一个有符号整数,C编译程序将把该值(二进制代码)的最高位作为符号标志位(符号标志位是0,表示正数;为1,表示负数)