0

我是 C 的初学者,我正在自学。我正在尝试将 int 转换为二进制以进行按位运算,但我不确定该怎么做?我曾尝试使用 mod 和其他数学来做到这一点,但我没有成功。我四处搜寻,并没有找到明确的方法。请协助。

4

2 回答 2

6

您无需对 anint进行任何转换即可在其上使用位运算符。它们会自动处理组成int.

如果要查看数字的二进制表示,可以使用(假设 8 个最低有效位)...

int num = 4;

int i;

for (i = 7; i >= 0; i--) {
    printf("%d", (num >> i) & 1);
}

键盘

这使用按位运算符>>(右移)和&(与)。

于 2012-09-10T00:36:16.043 回答
4

它已经在计算机中表示为二进制!(除非您拥有其中一台三元计算机。)所以继续在您int的 s 上使用按位运算符。(即使您确实拥有其中一台三元计算机也可以使用。)

看?有用!

于 2012-09-10T00:36:41.477 回答