c - 查看 C 中变量的字节/位

标签 c byte

如何在 C 语言中查看变量的字节/位?就二进制而言,只有零和一。

我的问题是我想测试变量 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/

相关文章:

c - 为什么 for (1; 2; 3) 是无限循环?

java - 如何将对象数组列表(ArrayLists)转换为字节数组?

java - 如何将整数的 "word"表示形式写入 Java 中的文件?

java - WriteBytes 在我的文件中写入字符串

c - 在异常处理程序中创建的 Linux 内核线程停止

c - 为什么这个归并排序算法不起作用?

c - 多维数组 : don't the pointers point to their own addresses?

c# - File.WriteAllBytes 正在创建一个 0 字节文件

byte - 为什么1字节等于8位?

c - 循环和分支效率