【深入剖析】彻底弄明白十进制---->n进制转换

本文详细介绍了10进制数转换为二、八、十六进制的方法,包括正整数、负整数、正小数和负小数的转换步骤。通过短除法、位取反和按位运算,以及对小数部分的连续乘2取整,可以得到不同进制的表示。此外,还提供了将整数和小数部分拼接的综合例子。
摘要由CSDN通过智能技术生成

前言

记录进制转换相关问题
不说废话,直接进入正文

正文

10进制转换为8/16进制的通用办法:10 --> 2 --> 8/16

10 —> 2

正整数

步骤:短除法 ,余数倒着取即为二进制数

举例:请添加图片描述
所以282的二进制数就是 100011010

负整数

步骤:先用短除法求对应正数的二进制数,按位取反,整体+1

举例:例如求 -282 的二进制数
先求 282 的二进制数
1 0 0 0 1 1 0 1 0 (282的二进制数)
0 1 1 1 0 0 1 0 1 (按位取反)
0 1 1 1 0 0 1 1 0 (按二进制的加法运算方式,整体的值+ 1)

正小数(无整数部分)

步骤:整体乘2,取出结果整数位即为这个小数的二进制数的第一位。取出结果的小数部分继续乘二,将第二次的结果的整数部分取出来,就是这个小数的二进制数的第二位,以此类推

举例:求 0.75 的二进制数
请添加图片描述
结果为 0.110

负小数(无整数部分)

步骤:负号只影响整数,不影响小数部分,只计算对应的正小数即可

举例:求 - 0.75 的二进制数
结果同上:0.110

综合起来

步骤:将整数和小数部分拼接到一起

举例:求 -282.75 的二进制

把上面的结果拿下来,拼到一起,结果: 0 1 1 1 0 0 1 1 0 . 1 1 0

2 —> 8

步骤:每隔三位算一组,不足三个补0凑满三位,每一组求出对应值

举例:求 100011010.11 的八进制
100 011 010 . 110 (补零)
100 011 010 . 110 (分组)
4 3 2 . 6 (每一组求对应值)

结果:432.6

2 —> 16

步骤:每隔四位算一组,不足四个补0凑满四位,每一组求出对应值

举例:求 100011010.11 的十六进制
1001 0001 1010. 1100 (补零,补足正负号)
1001 0001 1010. 1100 (分组)
-1 1 a . c

结果: -11a.c

结尾

记录一下计算过程,方便查找

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AntyRia

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值