unsigned问题

来源:百度知道 编辑:UC知道 时间:2024/04/29 07:30:24
遇到了这样一个问题
找出下面代码片段的错误并解释改正(sizeof(int)返回值为4)
unsigned int zero=0;
unsigned int compzero=0xFFFF;
/*1's complement of zero*/

unsigned int zero=0;
严格来说要写成:
unsigned int zero=0u;
实际上带不带u结果是一样的.

compzero=0xFFFF;
语法没问题,但数值是 1111 1111 1111 1111

全零应是unsigned int compzero=0x0000;

有错吗?
看看
http://zhidao.baidu.com/question/66810201.html

语法没错。

但是unsigned int compzero=0xFFFF; 这句句子的结果肯定不是0,而是2^16-1
若要为0,就要 = 0x0000