0
因此,我正在做一個將小數轉換爲二進制的代碼。我只想讓我的二進制數字在8位。有什麼建議麼?8位二進制代碼
#include <stdio.h>
#include <stdlib.h>
using namespace std;
long decimalToBinary(long n);
int main() {
long decimal;
printf("Enter a decimal number: ");
scanf_s("%d", &decimal);
printf("Binary number = ") << decimalToBinary(decimal);
return 0;
}
long decimalToBinary(long n) {
int remainder;
long binary = 0, i = 1;
while (n != 0) {
remainder = n % 2;
n = n/2;
binary = binary + (remainder*i);
i = i * 10;
}
return binary;
}
你的代碼有什麼問題嗎?它應該做什麼(輸入和預期輸出的例子)?它究竟是什麼*在做什麼? (同樣的例子)。用於讀取'signed long'的格式字符串是錯誤的;它應該是'%ld',但更重要的是應該是'std :: cin >> decimal;'一旦包含正確的頭文件。而那個你想要像'std :: cout'那樣對待的'printf'完全沒有意義。 – WhozCraig
@WhozCraig這是舊的左移printf –
請看[爲什麼「有人可以幫我嗎?」不是一個實際的問題?](http://meta.stackoverflow.com/q/284236) – EJoshuaS