进制转换详解(解释原理简单易懂)

本文详细介绍了进制转换的原理和方法,包括从预备知识如数码、数位、基数和位权的概念,到不同进制转为十进制、十进制转化为其他进制的规则。重点解析了为什么使用除以2取余法和乘以2取整法,并阐述了二进制与八进制、十六进制之间的转换技巧。通过理解这些底层原理,读者可以避免死记硬背,自行推导转换规则。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言:在网上看了许多篇关于不同进制之间如何转换的文章,包括很多浏览量上万的博客。大多都只是把转换的规则罗列了出来,例如十进制转二进制,可能大家都知道方法,“除以2反向取余数,直到商为0”。应用该方法的确可以解决我们遇到的进制转换问题,但是如果问我们为什么这样做呢?可能很少有人可以回答的出来。另外,二进制、八进制、十进制、十六进制之间的转换规则有一大堆,当时费很大力气记住的规则,一段时间不使用,很容易就忘记了。于是,又从头到尾看了一遍原来的文章,不断的反复这个过程,浪费了很多时间和精力。根本原因是我们不了解底层的原理,当我们了解了底层原理之后,上述进制之间的转换规则完全可以自己推导出来,根本不用死记硬背。授人以渔,不如授人以渔。解决基本的进制转换问题,可以说看本篇文章就足够了。

一、预备知识

希望读者可以认真阅读本部分内容,因为后文进制转换的原理会以此部分内容为基础

以十进制数“1234”为例:

数码:就是数中每一位的数字。如1、2、3、4

数位:数码在这个数中的位置,从右到左从0开始递增。例如4的数位为0、3的数位为1

基数:就是每一位的数码可以有多少个数字来表示。其实就是所谓的进制,十进制,基数为十,数码可以取的值有10个,分别是0~9。

位权:对于多数位,处在某一位上的“1”所表示的数值的大小,称为该位的位权。例如十进制数位0,位权为 10^0 = 1,数位1,位权10^1 = 10,…, 数位为n,位权为10^n 。公式为 基数的数位次幂

补充说明,如果包含小数部分,小数点后的第一个数的数位为-1,小数点后的第二个数的数位为-2,以此类堆。

二、其他进制转为十进制

我们先从最简单的情况,转换为十进制开始介绍。对于数字11,它可能是二进制,也可能是八进制,还有可能是十进制、十六进制,为了避免产生歧义,我们统一使用在不同数字后添加不同符号字母的方式来表示不同进制的数。

不同进制所使用相应对后缀如下所示:

  • B, Binary (二进制)
  • O,Octal (八进制)
  • D,Decimal (十进制)
  • H,Hexadecimal (十六进制)

使用了对应单词的首字母,另外,注意八进制使用字母O表示,不要和数字0混淆。

不同进制

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

明月几时有666

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

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

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

打赏作者

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

抵扣说明:

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

余额充值