所以我正在做一个将小数转换为二进制的代码。我只想要我的二进制数是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;
}
答案 0 :(得分:-1)
long decimalToBinary(long n) {
return n & 0xFF;
}
或(n & 0xFF00) >> 8
或(n & 0xFF0000) >> 16
或(n & 0xFF000000) >> 24
。取决于你想要的8位。