当前位置:  开发笔记 > 编程语言 > 正文

我该如何打印一位?

如何解决《我该如何打印一位?》经验,为你挑选了3个好方法。

请告诉我如何打印一下,比如printf("%d",bit);.



1> Herms..:

如果bit只是一个包含最低有效位所需值的int,那么:

printf("%d", bit & 0x1);

应该这样做.&正在使用只有第一个有效位设置的数字进行二进制AND运算,因此您将删除整数中的所有其余位.


@gnud:仅当使用指针对内存完成时才适用.无论值存储在内存中的方式如何,bit&0x1始终有效.

2> plinth..:

如果你需要概括超过Herms,你可以这样做:

#define IsBitSet(val, bit) ((val) & (1 << (bit)))

/* ... your code ... */

printf ("%c", IsBitSet(bit, 0) ? '1' : '0');

printf相当于Herms的答案.

如果你在谈论C中的位域,你可以这样做:

struct foo { int b:1; } myFoo;

printf("%c", myFoo.b ? '1' : '0');



3> dmckee..:

相关问题: 你如何设置,清除和切换一个位?是对c和c ++中单比特访问的扩展讨论.

推荐阅读
wangtao
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有