我正在编写一个将二进制字符串转换为十进制的程序。我想在我真正开始使用这种方法之前验证我的输出。我有以下代码:C++奇怪的输出将字符串转换为int
int get_val()
{
int sum =0;
for(int num_bits = size; num_bits>0; num_bits--)
{
printf("String sub %i is %i\n", num_bits, int(bin[num_bits]));
}
}
当我输入16个零的字符串,我得到下面的输出:
String sub 16 is 24
String sub 15 is 0
String sub 14 is 0
String sub 13 is 0
String sub 12 is 23
String sub 11 is 0
String sub 10 is 0
String sub 9 is 0
String sub 8 is 22
String sub 7 is 0
String sub 6 is 0
String sub 5 is 0
String sub 4 is 21
String sub 3 is 0
String sub 2 is 0
String sub 1 is 0
为什么我敢打赌得到不同的值,如果我输入全部为零?
编辑:BIN为“0000000000000000”
你似乎缺少一些代码。 – 2010-09-25 21:45:26
什么是'bin'数组? – 2010-09-25 21:45:46
请问您可以发布代码的其余部分,特别是bin []是什么? – schnaader 2010-09-25 21:45:53