-1
십진수 값을 이진 값을 나타내는 문자열로 변환해야합니다. 8이 주어지면 문자열 "1000"을 출력해야합니다. 10 진수에서 2 진수로의 변환이 있지만 char 배열의 값을 직접 인쇄 할 때 숫자 대신 작은 물음표가 나타납니다. char 배열에서 값을 읽는 방식과 관련이 있다는 것을 알고 있지만 문제를 해결하는 방법을 알 수는 없습니다. 당신이문자 배열의 요소는 어떻게 인쇄합니까?
binaryString[i] = char(binDigit);
을 수행 할 때
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