读书人

0xFFFF用简洁的方式替代,该如何解决

发布时间: 2012-05-12 15:39:31 作者: rapoo

0xFFFF用简洁的方式替代
在非16位机上,用什么替代 unsigned int a = 0xFFFF ???
谢谢大牛的 回答……


[解决办法]
#include<limits.h>

unsigned int a=UINT_MAX;
[解决办法]
unsigned int a= ~0
[解决办法]

探讨

unsigned int a= ~0

[解决办法]
探讨
引用:

unsigned int a= ~0

如果用了32位的机器,~0不是成了unsigned int a = 0xffffffff ?

[解决办法]
C99中有个<stdint.h>头文件,其中定义了挺多种类型的整型。
在支持C99编译器上可以使用uint16_t类型。
#include <stdint.h>
uint16_t b = ~0;
unsigned int a = b;
这样的话不同宽度类型会有自动隐式扩展,当然在编译器可信的前提下。
[解决办法]
unsigned int = -1;

[解决办法]
探讨
引用:

C99中有个<stdint.h>头文件,其中定义了挺多种类型的整型。
在支持C99编译器上可以使用uint16_t类型。
#include <stdint.h>
uint16_t b = ~0;
unsigned int a = b;
这样的话不同宽度类型会有自动隐式扩展,当然在编译器可信的前提下。
谢谢 不过我的linux里 没……

[解决办法]
探讨
在非16位机上,用什么替代 unsigned int a = 0xFFFF ???
谢谢大牛的 回答……

读书人网 >C语言

热点推荐