1、首先,定义四个整型变量,保存十进制整数、二进制整数等计算值。
2、给变量i和二拆镇进制数赋初值,值为0。
3、接着,输入一个十进李旅制整数。
4、用while语句判断,条件为十进制数是否为零。
5、当十进制数哪御凳不为零时,对十进制数用2求余,保存在变量d中。
6、十进制数除以2,使数值缩小为原来的二分之一。
7、输出十进制数所对应的二进制数。
8、运行程序,输入任意一个十进制整数,计算机就会输出对应的二进制数。
c语言编程将十进制转化为2进制可按手工转换规则进行程序转换。整团改数占四个字节,每字节8位,共32位。所以,可以定义一个32位的数组来消或局存储转换结果。
循环将整数进行除2取余数,余数存储到数组中。
当整数整除为0时,结束循环
逆序输出数组,得到转换结果
参考代码拿让:
#include <stdio.h>
void main()
{
int c[32],i=0,n
scanf("%d", &n) //输入待转换整数n
do {
c[i++]=n%2
n/=2
} while(n!=0)
for(i--i>=0i--)
printf("%d",c[i] )
printf("\n")
}
C语言实现十六进制转换成十进制如下:
例如将十六进制数字 9FA8C 转换成十进制:
9FA8C = 9×164 + 15×163 + 10×162 + 8×161 + 12×160 = 653964(十进制)。
从右往左看,第1位的位权为 160=1,第2位的位权为 161=16,第3位的位权为 162=256,第4位的位权为 163=4096,第5位的位权为 164=65536 …顷段… 第n位的位权就为 16n-1。
将各个位的数字乘以位权,然后再相加,就得到了十进制形式。
十六进制数的第0位派缺的权值为16的0次方,第1位的权值为16的1次方,第2位的权值为16的2次方。
所以,在第N(N从0开始)位上,如果是是数 X (X 大于等于0,并且X小于等于 15,即:F)表示的大小为 X * 16的N次方。
再例如:十六进制:EA7 = 14×162 + 10×161 + 7×160 = 3751(十进制)。
扩展资料:
C语言10进制转16进制
把十进制的数不停除以16的余数按从右尘乎辩到左的顺序排起来就是16进制,例如:55/16=0余5例如100 100/16=6余4 6/16余6,所以就是64,再例如1000 1000/16=62余8 62/16=3余12 3/16余3所以结果是3C8 //。
对于整数部分,用被除数反复除以2,除第一次外,每次除以2均取前一次商的整数部分作被除数并依次记下每次的余数。另外,所得到的商的最后一位余数是所求二进制数的最高位。
对于小数部分,采用连续乘以基数2,并依次取出的整数部分,直至结果的小数部分为0为止。
参考资料来源:百度百科-十六进制至十进制转换-十六进制--->十进制
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)