我们说我有一些int x。我只想打印x的前5位。我怎样才能做到这一点?我听说我可以做点什么
printf("%d", x & 0x05);
打印x的前五位,但这只是在我的函数中输出0。
答案 0 :(得分:0)
如果您正在使用GCC,Visual Studio 2015(或更高版本)或Clang进行编译,那么您可以使用0b
(二进制)前缀,这样您就可以看到所需的位掩码,而不是{ {1}}(十六进制)前缀,这不太直观。
0x
这些示例将屏蔽3个最低有效位(1,2和4)或3个最高有效位(64,32和16),只留下其他5个。
如果使用上面未列出的编译器进行编译,则可以始终导入BOOST_BINARY宏。
如果要查看实际位,则可能需要查看this question。