很难描述我的问题。基本上我只想以二进制方式定义一个值:
例如在Hex中我可以定义一个这样的值:
BYTE data = 0XAB;
我想要定义它的方式是这样的:
BYTE data = 0B10101011;
据我所知,C或C ++不支持 0B 。 我这样做的方式是我使用不同的位来表示不同的含义,如果在这里定义了值,那么我就更容易知道值意味着什么。
答案 0 :(得分:3)
答案 1 :(得分:2)
如果您不支持C ++ 14,则可以
BYTE data = std::bitset<8>("10101011").to_ulong(); // casted back to BYTE
答案 2 :(得分:1)
某些最新版本的C / C ++支持此功能。如果该功能不可用,您可以使用位集。
bitset<8> b(string("01010101"));
bitset也提供了一些转换功能,因此这些功能可用于获取数字。