按位运算符

时间:2012-09-10 00:34:45

标签: c bit-manipulation

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

2 个答案:

答案 0 :(得分:6)

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

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

int num = 4;

int i;

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

CodePad

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

答案 1 :(得分:4)

它已经在计算机中表示为二进制! (除非你有这些三元计算机之一。)所以继续使用int上的按位运算符。 (即使你还有其中一台三元计算机,也能正常工作。)

See? It works!

相关问题