将一个十进制数转换成二进制数的方法是不断地除以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
评论