十进制数89转换成二进制数

将一个十进制数转换成二进制数的方法是不断地除以2并记录余数,直到商为0为止。然后将记录的余数从低位到高位排列,就得到了对应的二进制数。

例如,将十进制数89转换成二进制数的过程如下:

89 ÷ 2 = 44 余 1
44 ÷ 2 = 22 余 0
22 ÷ 2 = 11 余 0
11 ÷ 2 = 5  余 1
5  ÷ 2 = 2  余 1
2  ÷ 2 = 1  余 0
1  ÷ 2 = 0  余 1

所以,89在二进制下的表示为1011001

以下是C语言实现将一个十进制数转换成二进制数的代码:

#include <stdio.h>

void decimalToBinary(int decimal, char* result) {
    int quotient = decimal;
    int remainder;
    int i = 0;

    if (decimal == 0) {
        result[0] = '0';
        result[1] = '\0';
        return;
    }

    while (quotient != 0) {
        remainder = quotient % 2;
        result[i++] = remainder + '0';
        quotient /= 2;
    }

    result[i] = '\0';

    // Reverse the result
    for (int j = 0; j < i / 2; j++) {
        char temp = result[j];
        result[j] = result[i - j - 1];
        result[i - j - 1] = temp;
    }
}

int main() {
    int decimal = 89;
    char binary[100];

    decimalToBinary(decimal, binary);

    printf("%d in decimal is %s in binary\n", decimal, binary);

    return 0;
}
以上代码的输出结果是:
89 in decimal is 1011001 in binary

 
匿名

发表评论

匿名网友
:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:
确定