我正在编写一个代码,我需要一次修改一个8字节变量。我想知道,如果有一种更方便的方法来编写一个长而简单的十六进制值,如:
变量& 0x8000000000000000
我知道我可以将char声明为0x80,然后将其转换为其他类型并将其移位。我只是在寻找更简单,更实用的东西。
答案 0 :(得分:3)
您可以使用按位左移运算符使其更清晰:
variable & 1ULL << 63
答案 1 :(得分:1)
BV()
宏,这很简单方便:
#define _BV(bit) (1ULL << (bit))
以这种方式使用:
var & (0x8 * _BV(60));
如果你想在最左边或最直接的字节上工作:
var & _BV(63);
访问第63位。