2

有没有将无符号整数转换为二进制字符串的 Phobos 函数?我已经搜索过,但找不到 - 只是想确保我不会通过自己编写轮子来重新发明轮子。

4

1 回答 1

5

std.conv.to是转换功能的瑞士军刀,支持不同基地的相互转换。所以,如果你想将 13 转换为它的基数 2 作为字符串"1101"- 那么你会做

auto str = to!string(13, 2);
assert(str == "1101");

并将包含基数 2 整数的字符串转换为整数,只需执行相反的操作

auto i = to!int("1101", 2);
assert(i == 13);

std.conv.parse具有类似的功能,但它用于从字符串的开头解析一个值(其想法是从字符串中解析出几个空格分隔的值),而不是一次转换整个字符串。从一个值构造一个字符串也是行不通的,只是从一个字符串中构造一个值。

于 2014-10-09T06:55:16.820 回答