第12课 编码与数制

二进制起源于中国。上古奇书《易经》中就使用到了二进制。《易经》长期用来“卜筮”,对事态未来发展进行预测,俗称“算卦”。通过阳爻(—)和阴爻(–)说明天地、日月、人生、事物之间的变化法则,这就是二进制在远古时期典型应用。
在这里插入图片描述

中国古代将二进制用于天、地、人以及哲学的研究,现代人将二进制运用到以计算机为主导的数字系统中,帮助人们处理纷繁复杂的信息。

一、十进制与二进制(Binary)

1、什么是编码?

将表示信息的符号或符号组合称为“信息代码”,简称“代码”;那么编制代码的过程就是“信息编码”。

在传统计算机中,信息的存储与计算都是通过二进制实现的。计算机存储的最小单元是“位”,也称“比特位”,每一个二进制位可以表示0和1两种信息;每8个比特位称为一个“字节”。

最新的量子计算机以量子比特为计算基础,其计算与存储原理和传统计算机截然不同。

2、二进制的特点:

只有0和1两个基础数字,采取逢二进一的进位原则。

3、十进制转二进制:

使用短除法,每次除以2取余,直到商为0,将余数逆序输出。
在这里插入图片描述

4、二进制转十进制:

按权展开,逐项相加。

在这里插入图片描述

n个二进制位可以表示2n个不同的数,表示的最大的二进制数是2n - 1。

5、Python中的转换函数:

bin()函数将十进制整数转换成二进制字符串;

注意:二进制数是一个字符串,以“0b”或“0B”为前缀,前缀不区分大小写,前缀可省略。

int()函数将二进制字符串转换成十进制数。
在这里插入图片描述

二、十进制与八进制(Octal)

1、八进制的特点:
包含0~7共8个基础数字,采用逢八进一的进位原则。

2、十进制转八进制:
使用短除法,每次除以8取余,直到商为0,将余数逆序输出。

3、八进制转十进制:
按权展开,逐项相加。
在这里插入图片描述

4、Python中的转换函数:

oct()函数将十进制整数转换成八进制字符串;

注意:八进制数是一个字符串,以“0o”或“0O”为前缀,前缀不区分大小写,前缀可省略。

int()函数将八进制字符串转换成十进制数。
在这里插入图片描述

三、十进制与十六进制(Hexadecimal)

1、十六进制的特点:
包含09,10个基础数字,和AF,6个基础字母,共16个基础数码,采用逢十六进一的进位原则。
说明:基础数字只有10个,最大只能表示到9,所以使用AF这6个字母分别补充表示1015,AF也可以使用小写af代替,这里不区分大小写。

2、十进制转十六进制:
使用短除法,每次除以16取余,直到商为0,将余数逆序输出。

3、十六进制转十进制:
按权展开,逐项相加。
在这里插入图片描述

4、Python中的转换函数:
hex()函数将十进制整数转换成十六进制字符串;
注意:十六进制数是一个字符串,以“0x”或“0X”为前缀,前缀不区分大小写,前缀可省略。
int()函数将十六进制字符串转换成十进制数。

在这里插入图片描述

四、二进制与十六进制

1、二进制转十六进制:
从最低位开始,每4位1组,逐组转换;若位数不够,左边补0凑齐。
在这里插入图片描述

2、十六进制转二进制:

逐位转换,每1个十六进制位转换成4个二进制位;如果转换的二进制数不足4位,左边补0凑齐;若最终结果最左边有0,将其省略。
在这里插入图片描述

二进制与十六进制对照表:
在这里插入图片描述

3、Python中的转换函数:

hex()函数可以将二进制数字(而不是字符串)转成十六进制字符串;

bin()函数可以将十六进制数字(而不是字符串)转成二进制字符串。

在转换过程中,要注意以下两点:

1)填写的参数是number类型,而不是str类型;

2)数字类型的前缀不能省略。
在这里插入图片描述

模拟考题

1、将十进制数120转换成二进制数时,该二进制数的位数是( )
A、5 B、6 C、7 D、8

2、二进制数10101010对应的十进制数是169。( )

3、十进制数11对应的八进制数是( )
A、10 B、11 C、12 D、13

4、八进制数68对应的十进制数为56。( )

5、将十进制数30转换成十六进制数,最低位上的数是( )
A、c B、d C、e D、f

6、将十进制数转换成十六进制数后,长度一定变短。( )

7、下列关于表达式的计算结果,不正确的是( )
A、hex(int(‘11’, 2))的结果是’0X3’
B、hex(0b11110111)的结果是’0xf7’
C、hex(int(‘11’, 16))的结果是’0x17’
D、bin(0xf7)的结果是’0b11110111’

8、二进制数11110011转换为十六进制数为F3。( )














参考答案:

1、C(结果是1111000,共7位)
2、错(按权展开,结果是170)
3、D
4、错(八进制没有8这个基数)
5、C
6、错(10以内的都不会变短)
7、C(C的正确结果是’0x11’)
8、对

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值