二、进制与编码

root 站长 2019-09-17 17:57:01 2023-07-09 11:11:03 2

一、四种常用的数制及它们之间的相互转换

进制 基数 基数个数 进数规律
十进制 0、1、2、3、4、5、6、7、8、9 10 逢十进一
二进制 0、1 2 逢二进一
八进制 0、1、2、3、4、5、6、7 8 逢八进一
十六进制 0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F 16 逢十六进一

PS:
数制:计数的方法,指用一组固定的符号和统一的规则来表示数值的方法
数位:指数字符号在一个数中所处的位置
基数:指在某种进位计数制中,数位上所能使用的数字符号的个数
位权:指在某种进位计数制中,数位所代表的大小,即处在某一位上的“1”所表示的数值的大小。

十进制数转换为二进制数、八进制数、十六进制数的方法: 短除反取余法

二进制数、八进制数、十六进制数转换为十进制数的方法: 按权展开求和法

1. 二进制与十进制间的相互转换

(1)二进制转十进制

方法:“按权展开求和”
例:

规律:个位上的数字的次数是0,十位上的数字的次数是1,......,依奖递增,而十分位的数字的次数是-1,百分位上数字的次数是-2,......,依次递减。

注意:不是任何一个十进制小数都能转换成有限位的二进制数。

(2)十进制转二进制

  • 十进制整数转二进制数方法:“除以2取余,逆序排列”(短除反取余法)

例:
图片

  • 十进制小数转二进制小数:“乘以2取整,顺序排列”(乘2取整法)

例:
图片1

2.八进制与二进制的相互转换:

(1) 二进制数转换成八进制数:从小数点开始,整数部分向左、小数部分向右,每3位为一组用一位八进制数的数字表示,不足3位的要用“0”补足3位,就得到一个八进制数。

例:将八进制的37.416转换成二进制数:

数字
3 7 . 4 1 6
011 111 100 001 110

即:

(2)八进制数转换成二进制数:把每一个八进制数转换成3位的二进制数,就得到一个二进制数。

例:将二进制的10110.0011 转换成八进制:

数字
010 110 . 001 100
2 6 1 4

即:

3.十六进制与二进制的转换:

(1) 二进制数转换成十六进制数:从小数点开始,整数部分向左、小数部分向右,每4位为一组用一位十六进制数的数字表示,不足4位的要用“0”补足4位,就得到一个十六进制数。

例:将十六进制数5DF.9 转换成二进制:

数字
5 D F . 9
0101 1101 1111 1001

即:

(2) 十六进制数转换成二进制数:把每一个八进制数转换成4位的二进制数,就得到一个二进制数。

数字
0110 0001 . 1110
6 1 E

即:

注意:以上所说的二进制数均是无符号的数。这些数的范围如下表:

无符号位二进制数位数 数值范围 十六进制范围表示法
8位二进制数 0 ~ 255() 00 ~ 0FFH
16位二进制数 0 ~ 65535 ( 0000H ~ 0FFFFH
32位二进制数 0 ~ 00000000H ~ 0FFFFFFFFH

二、 带符号数的机器码表示方法

1. 带符号二进制数的表示方法

带符号二进制数用最高位的一位数来表示符号:0表示正,1表示负。

含符号位二进制数位数 数值范围 十六进制范围表示法
8位二进制数 -128 ~ +127 80H ~ 7FH
16位二进制数 -32768 ~ +32767 ) 8000H ~ 7FFFH
32位二进制数 -2147483648 ~ +2147483647 80000000H ~ 7FFFFFFFH

2. 符号位的表示:最常用的表示方法有原码、反码和补码(非常重要)

图片 图片 图片

{{ vote && vote.total.up }}