将一个十进制数转换成二进制数的方法是不断地除以2并记录余数,直到商为0为止。然后将记录的余数从低位到高位排列,就得到了对应的二进制数。
例如,将十进制数29转换成二进制数的过程如下:
29 ÷ 2 = 14 余 1 14 ÷ 2 = 7 余 0 7 ÷ 2 = 3 余 1 3 ÷ 2 = 1 余 1 1 ÷ 2 = 0 余 1
所以,29在二进制下的表示为11101
。
以下是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 = 29; char binary[100]; decimalToBinary(decimal, binary); printf("%d in decimal is %s in binary\n", decimal, binary); return 0; }
以上代码的输出结果是:
29 in decimal is 11101 in binary
评论