C++ 编写一个程序,将用户输入的十进制整数转换成任意进制的数。

C++ 编写一个程序,将用户输入的十进制整数转换成任意进制的数。,第1张

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为止。

参考资料来源:百度百科-十六进制至十进制转换-十六进制--->十进制


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12431872.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存