我正在編寫一個將二進制字符串轉換爲十進制的程序。我想在我真正開始使用這種方法之前驗證我的輸出。我有以下代碼: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