我是C的初学者,我正在自学。 我试图将int转换为二进制以进行按位操作,我不确定如何做到这一点?我曾尝试使用mod和其他数学来做到这一点,但我没有成功。我已经四处寻找并且没有找到明确的方法。请协助。
答案 0 :(得分:6)
您无需对int
进行任何转换即可在其上使用按位运算符。它们会自动处理组成int
。
如果要查看数字的二进制表示,可以使用(假设8个最低有效位)......
int num = 4;
int i;
for (i = 7; i >= 0; i--) {
printf("%d", (num >> i) & 1);
}
这使用按位运算符>>
(右移)和&
(和)。
答案 1 :(得分:4)
它已经在计算机中表示为二进制! (除非你有这些三元计算机之一。)所以继续使用int
上的按位运算符。 (即使你做还有其中一台三元计算机,也能正常工作。)