我正在将一些源代码从一种脚本语言(PAWN)转换为Windows上的编程语言(C ++)。
这个源代码到处都存在以二进制文字的形式出现的数百万个字面量:
data[] =
{
0b11111111111011111110110111111110, 0b00000000001111111111111111111111,
0b00000000000000000000000000000000, 0b00000000000000000000000000000000,
0b00000000000000000000000000000000, 0b00000000000000000000000000000000,
0b00000000000000000000000000000000, 0b00000000000000000000000000000000,
///some million lines later...
0b00000000000000000000000000000000, 0b11111111111111111111111110000000,
0b11100001001111111111111111111111, 0b11110111111111111111111111111111,
0b11111111111111111111111111111111, 0b11111111111111111111111111111111,
不幸的是,Visual Studio 2013不支持用户定义字面量标准。
有没有什么方法可以实现这个功能?也许使用C ++的010101_b或类似的东西,再加上一点boost库的支持?
#include <bitset> const unsigned long GETBOOL(std::string str) { return std::bitset<32>(str).to_ulong(); } GETBOOL("11111111111011111110110111111110"),
- Gizmo