c语言进制之间的转换

本文详细介绍了二进制、八进制、十六进制与十进制之间的转换方法,包括整数和小数部分的转换,以及二进制、八进制和十六进制整数间的转换。通过‘按权相加’和特定的除法与乘法策略,读者可以掌握不同进制之间的转换技巧。
摘要由CSDN通过智能技术生成

一、二进制八进制十六进制转十进制

二进制、八进制和十六进制向十进制转换遵循“按权相加”的方法。所谓“权”,也即“位权”

假设当前数字是 N 进制,那么: 
对于整数部分,从右往左看,第 i 位的位权等Ni-1
 对于小数部分,恰好相反,要从左往右看,第 j 位的位权为N-j
假设二进制数为100110,那么它转换为十进制的过程为:
1×25+0×24+0×23+1×22+1×21+0×20=38
八进制,十六进制的操作同样如此,只不过要把N的值改成8获16,然后再乘对应哪个位置上的数,求和即为要求的十进制数。

二、十进制转换为二进制八进制十六进制

1 整数部分

十进制整数转换为 N 进制整数采用“除 N 取余,逆序排列”法:
① 将 N 作为除数,用十进制整数除以 N,可以得到一个商和余数; 
② 保留余数,用商继续除以 N,又得到一个新的商和余数; 
③ 仍然保留余数,用商继续除以 N,还会得到一个新的商和余数;
④ …… 
⑤ 如此反复进行,每次都保留余数,用商接着除以 N,直到商为 0 时为止。
⑥把先得到的余数作为 N 进制数的

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值