代码学习——进制转换
不使用数组将十进制数转换为二进制数并打印出来:
C
#include <stdio.h>
int main() {
int denary;
int binary = 0;
int bitPosition = 1;
printf("请输入一个十进制数: ");
scanf("%d", &denary);
// 转换为二进制
while (denary > 0) {
binary += (denary % 2) * bitPosition;
denary /= 2;
bitPosition *= 10;
}
// 打印二进制数
printf("转换后的二进制数为: %d\n", binary);
return 0;
}
在上述代码中:
1. 首先通过 scanf 获取用户输入的十进制数并存入 denary 变量。
2. 然后在 while 循环里,每次取 denary 除以2的余数,将其乘以对应的位权(通过 bitPosition 来表示,每次循环乘以10以更新位权)后累加到 binary 变量中,同时更新 denary 的值,直到 denary 变为0。
3. 最后直接打印出 binary 变量的值,就是转换后的二进制数。