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