进制间的转换

#王者杯·14天创作挑战营·第5期#

1. 常见的进制特点

日常生活中,我们采用十进制(decimal),逢十进一

在计算机科学领域,常用十六进制(hexadecimal)和二进制(binary)

当然,还有八进制(octal)的设计

十进制(decimal):数字 0 − 9 0-9 09这十个数字组成

二进制(binary):数字0和1组成

八进制(octal):数字 0 − 7 0-7 07组成,为了和其他进制区分,以 0 0 0开头,例如 0137 0137 0137

十六进制(hexadecimal):数字 0 − 9 0-9 09和字母A-F组成,A-F分别代表 10 − 15 10-15 1015这六个数,为了和其他进制区分,以0x开头,例如0x5F

在这里插入图片描述

2. n进制转十进制

任何进制转十进制都遵循按权展开相加的规则,我们利用具体的例子来解释

2.1. 二进制转十进制

假如说一个8位的二进制数: 10110011 1011 0011 10110011,将其转换为十进制

左边是数的高位,右边是数的低位,从右至左,每个数占的权重不同,依次是:

2 0 , 2 1 . . . 2 7 2^0,2^1...2^7 20,21...27
在这里插入图片描述

那么计算步骤即是

1 × 2 0 + 1 × 2 1 + 0 × 2 3 + 0 × 2 4 + 1 × 2 4 + 1 × 2 5 + 0 × 2 6 + 1 × 2 7 = 179 1\times2^0 + 1 \times 2^1 + 0 \times 2^3 + 0\times2^4 + 1\times2^4+1\times2^5+0\times2^6+1\times2^7 = 179 1×20+1×21+0×23+0×24+1×24+1×25+0×26+1×27=179

2.2. 十六进制转十进制

假如说一个十六进制数为0x3F,将其转换为十进制,此时的权重基础是16的几次方了

在这里插入图片描述

那么计算步骤即是:

15 × 1 6 0 + 3 × 1 6 1 = 63 15\times16^0+3\times16^1 = 63 15×160+3×161=63

八进制数在计算机科学中并不常用,转换方法同上,就不再赘述了

3. 十进制转n进制

十进制转n进制都遵循一个原则:除基取余,上右下左

3.1. 十进制转二进制

27转成二进制:
在这里插入图片描述

不断除以2找到余数,直到除到0为止,从下到上是高位到低位的顺序

3.2. 十进制转十六进制

135转成十六进制:

在这里插入图片描述

不断除以16找到余数,直到除到0为止,从下到上是高位到低位的顺序

八进制数在计算机科学中并不常用,转换方法同上,就不再赘述了

4. 十六进制和二进制之间的转换

二进制有个缺点就是表示起来数据过于冗长,而十六进制就能缩短数据表示,更为简洁

一位十六进制的数代表四位二进制数,下表是二者关系:
在这里插入图片描述

例如0x1E36

在这里插入图片描述
希望我的文章对你有所帮助,嘻嘻!若有错误的地方还望大家批评指正,谢谢大家阅读!

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值