2014-10-09 18 views
2

是否存在将无符号整数转换为二进制字符串的Phobos函数?我搜索了,但找不到 - 只是想确保我不会通过编写我自己的方式重新发明轮子。用于将uint转换为二进制字符串的Phobos库函数

+0

请澄清你的意思是将整数转换为二进制字符串。您是否想将'22'转换为'“22”',或者您是否指其他类型的转换? – 2014-10-09 06:45:12

+0

实际上,我期待将''13''转换为''“1101”''。 – 2014-10-09 06:46:01

+1

所以,你想要一个整数转换为一个基础2值作为一个字符串? – 2014-10-09 06:47:35

回答

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具有类似的功能,但它的解析从字符串开头的值(从字符串解析出几个空格分隔值的想法),而不是立即把整个字符串转换。它也不能从一个值构造一个字符串,只是一个字符串中的一个值。

相关问题