-1
我必須將十進制值轉換爲顯示二進制值的字符串,例如給定8,我需要打印一個字符串「1000」。我有從十進制轉換爲二進制,但是當我直接從char數組中打印值時,我得到的問號而不是數字。我知道它與char數組讀取值的方式有關,但我無法弄清楚如何糾正這個問題。如何打印char數組的元素?
void dec2Bin(int value, char binaryString[]) {
int remainder = 0;
int binDigit = 0;
int i = 0;
while (value != 0) {
binDigit = value % 2;
value /= 2;
binaryString[i] = char(binDigit);
i++;
}
for (int k = i - 1; k > 0; k--) {
cout << binaryString[k];
}
}
int main()
{
cout << "Enter a decimal number: ";
int num;
cin >> num;
char binaryString[20] = "";
dec2Bin(num, binaryString);
return 0;
}
非常感謝你的親切陌生人。我一直試圖瞭解這個問題幾個小時。我用binDigit + 0,它完美地工作。 – so8857