Her*_*rms 20
如果bit只是一个包含最低有效位所需值的int,那么:
printf("%d", bit & 0x1);
Run Code Online (Sandbox Code Playgroud)
应该这样做.&正在使用只有第一个有效位设置的数字进行二进制AND运算,因此您将删除整数中的所有其余位.
pli*_*nth 10
如果你需要概括超过Herms,你可以这样做:
#define IsBitSet(val, bit) ((val) & (1 << (bit)))
/* ... your code ... */
printf ("%c", IsBitSet(bit, 0) ? '1' : '0');
Run Code Online (Sandbox Code Playgroud)
printf相当于Herms的答案.
如果你在谈论C中的位域,你可以这样做:
struct foo { int b:1; } myFoo;
printf("%c", myFoo.b ? '1' : '0');
Run Code Online (Sandbox Code Playgroud)