我如何在C语言中看到变量的字节/位?就二进制而言,只有0和1。
我的问题是,我想测试变量x中最重要的字节是否存在零。

最佳答案

使用逻辑和运算符&。例如:

char c = ....
if ( (c & 0xFF) == 0xFF) ... // test char c for zeroes

您可能希望使用移位和宏来自动化它,而不是使用数值常量,因为对于不同的类型,您需要不同的值来测试MSB。您可以使用sizeof获取班次值。
// test MSB of an int for zeroes
int i = ...
if ( ( i & (0xFF << 8*(sizeof(int)-1))) == (0xFF<<8*(sizeof(int)-1))) ...

关于c - 查看C中变量的字节/位,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9980982/

10-15 02:14