运行结果:
C语言代码:
/* c how to program 习题3.35 */
#include <stdio.h>
// function main begins program execution
int main( void )
{
//定义变量 二进制数值binary 临时数值temp 每位的数值bit 基数factor 十进制数值decimal
int binary, temp, bit, factor = 1, decimal = 0;
//获取一个五位的二进制数值
printf("请输入一个五位的二进制的数值:");
scanf("%d", &binary);
//计算该数值的十进制
temp = binary; //用temp1来代替binary来运算,以免改变binary的值
//当temp不等于0时执行循环
while(temp){
//取得当前temp的最后一位数字赋值给bit
bit = temp % 10;
//factor是二进制值的基数,十进制数值decimal等于二进制的每个组成数值*对应的基数
decimal += bit * factor;
//把temp1的最后一位去掉,进行计算下一位
temp /= 10;
//更新下一位的基数
factor *= 2;
}
//计算完后,打印结果
printf("\n二进制%d的十进制数值是:%d\n", binary, decimal);
}