C 关于unsigned int compzero = ~0;
2013-04-24 10:40
197 查看
unsigned int zero = 0;
unsigned int compzero = 0xFFFF;
/*1's complement of zero */
对于一个int型不是16位的处理器为说,上面的代码是不正确的。应编写如下:
unsigned int compzero = ~0;
为什么啊?
网友回复:unsigned int compzero = 0xFFFF;
只写了2个字节,16位的才符合
32位的可以写:
unsigned int compzero = 0xFFFFFFFF;
但unsigned int compzero = ~0;更安全,不管有多少位,直接取反,把所有的0都变成1了
unsigned int compzero = 0xFFFF;
/*1's complement of zero */
对于一个int型不是16位的处理器为说,上面的代码是不正确的。应编写如下:
unsigned int compzero = ~0;
为什么啊?
网友回复:unsigned int compzero = 0xFFFF;
只写了2个字节,16位的才符合
32位的可以写:
unsigned int compzero = 0xFFFFFFFF;
但unsigned int compzero = ~0;更安全,不管有多少位,直接取反,把所有的0都变成1了
相关文章推荐
- C 关于unsigned int compzero = ~0;
- C 关于unsigned int compzero = ~0;
- Tinyint/ smallint/ mediumint/int/ bigint(M) unsigned zerofill
- 关于*((volatile unsigned int *) 0xFFE00000)这种格式的理解
- 关于经常用到的int long unsigned的长度和范围
- 在C语言中,double、long、unsigned、int、char类型数据所占字节数
- (*(volatile unsigned int *))详解
- PHP 关于无符号整形Unsigned
- 在C语言中,double、long、unsigned、int、char类型数据所占字节数
- c 中关于int,unsigned int , short 各种类型总结
- 关于int,string,char之间转换
- 关于Interger和int
- 关于树莓派zero的系统安装配置部署
- 关于uint与int
- 关于linux /etc/sysconfig/network中的NOZEROCONF=yes参数
- 关于int,float,double与Integer、Float、Double的理解
- (*(volatile unsigned int *))详解
- 关于一个int *ptr=(int *)(&a+1)问题的探讨
- 关于int 到 string 类型
- 自我反思——关于java中String类型和int类型的转换