如何在C中打印5位/ n位数?

时间:2017-09-10 19:28:51

标签: c bit

我们说我有一些int x。我只想打印x的前5位。我怎样才能做到这一点?我听说我可以做点什么

printf("%d", x & 0x05);

打印x的前五位,但这只是在我的函数中输出0。

1 个答案:

答案 0 :(得分:0)

如果您正在使用GCC,Visual Studio 2015(或更高版本)或Clang进行编译,那么您可以使用0b(二进制)前缀,这样您就可以看到所需的位掩码,而不是{ {1}}(十六进制)前缀,这不太直观。

0x

这些示例将屏蔽3个最低有效位(1,2和4)或3个最高有效位(64,32和16),只留下其他5个。

如果使用上面未列出的编译器进行编译,则可以始终导入BOOST_BINARY宏。

如果要查看实际位,则可能需要查看this question