8位二进制代码

时间:2017-02-23 03:44:41

标签: c++ visual-c++

所以我正在做一个将小数转换为二进制的代码。我只想要我的二进制数是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;
}

1 个答案:

答案 0 :(得分:-1)

long decimalToBinary(long n) {
    return n & 0xFF;
}

(n & 0xFF00) >> 8(n & 0xFF0000) >> 16(n & 0xFF000000) >> 24。取决于你想要的8位。