2012-09-10 55 views
0

我是C初学者,我正在自学。 我想将一个int转换为二进制的按位操作,我不知道该怎么做?我试图用mod和其他数学来做,但我一直没有成功。我已经四处搜寻,并没有找到明确的方法。请协助。按位运算符

+2

如果您想了解位运算符/操作请参见本简介[教程](http://www.cprogramming.com /tutorial/bitwise_operators.html) – Levon

回答

6

您无需对int进行任何转换即可在其上使用按位运算符。他们自动在构成int上工作。

如果你想查看一个数的二进制表示,你可以使用(假设8个最低显著位)...

int num = 4; 

int i; 

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

CodePad

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

4

它已经在计算机中表现为二进制! (除非你有一台三元计算机。)因此,请继续使用按位运算符int s。 (工程,即使你做这些三元一台计算机。)

See? It works!