您好,欢迎来电子发烧友网! ,新用户?[免费注册]

当前位置:电子发烧友网 > 图书频道 > 电子 > 《微计算机原理》 > 第1章 概述

第2节 各种进制数的转换

§1.2.2 各种进制数的转换

1.十进制<-->二进制 

  十进制整数转换为二进制,采用除2取余法;十进制纯小数转换为二进制小数,采用乘2取整法。
  把二进制数转换为十进制数,按定义直接计算。
2.十进制<—>十六进制 
  十进制整数转换为十六进制,采用除16取余法;十进制纯小数转换为十六进制小数,采用乘16取整法。
  把十六进制数转换为十进制数,按定义直接计算。
3.二进制〈—〉十六进制
一位十六进制数对应四位二进制数
十进制
二进制
十六进
  

 

 

 
 
 
 
 
 
 
 
十进制
二进制
十六进制
0
0000B
0H
8
1000B
8H
1
0001B
01H
9
1001B
9H
2
0010B
02H
10
1010B
0AH
3
0011B
03H
11
1011B
0BH
4
0100B
04H
12
1100B
0CH
5
0101B
05H
13
1101B
0DH
6
0110B
06H
14
1110B
0EH
7
0111B
07H
15
1111B
0FH

  二进制数转换为十六进制数,从小数点开始,向左右两边,把二进制数分为每四位一组(不足四位以0补足),写出每组对应的十六进制数。
  十六进制转换为二进制,把十六进制数的各位数字用四位二进制替换即可。

§1.2.3 带符号数的编码表示方法

 

  一个带符号的数有"符号"和"数值"两部分。在计算机中,把数的符号也用编码表示,通常,将一个二进制数码的最高位作为符号位,其余位表示数值。

  S 数值位 符号位S=0表示正数,S=1表示负数。这种符号被数值化了的二进制数称为机器数(数在机器中的表达),而它的数值

  称为该机器数的真值。

  "数值位"部分可以有"原码"、"反码"、"补码"三种表示方法,计算机中一般用补码表示。

  1、 原码表示

  在计算机中,把数的符号也用数码表示,通常做法是将一个二进制数码的最高位作为符号位,规定0表示正号,1表示负号,剩余位作为数值部分,这种表示法称为原码表示法。例

  2、 反码表示

  正数的反码与原码相同;负数的反码,在原码的基础上,符号位不变,数值位按位取反。

  3、 补码表示

  正数的补码与原码相同;负数的反码,在反码的基础上,最低位加1。

4、 补码的特点

  (1)[+0]补=[-0]补= 00000000B,即0的编码方式只有一种(原码和反码中,0的编码方式有两中)。

  (2) 两数相减,可以转换为两数相加运算。

  5、 二进制数的位数在计算机中,通常以8、16、32、64位二进制表示一个数。

  11111111B和1111111111111111B的真值相同(-1),仅仅是表达的二进制位数不同。在运算过程中,有时需要把一个数的8位表

  达扩展为16位表达,或者把16位扩展为32位,扩展的方法是符号扩展。

  注意:在计算机中,一个数的位数总是指其二进制位数。

§1.2.4 实数的编码表示方法

 

  实数有两种表示方法:"定点表示法"和"浮点表示法"。在微机中,一般使用浮点表示法,因此,实数运算又称为浮点运算。

  1、 定点表示法

  小数点在机器数中的位置固定不变,这样的数称为定点数。 原则上讲,小数点的位置可以任意指定,例如,在16位机器数中,用高10位表示整数,用低6位表示尾数,小数点固定在第六位和第七位之间(未表示出来)。但为了方便,总是把小数点规定在数的最前面或数的最后面,即把所有数均化为纯小数或纯整数来进行运算。 

2、 浮点表示法

  浮点表示法,就是小数点在数中的位置是浮动的,这样的数称为浮点数。

  在浮点表示时,计算机把任何一个二进制数分成阶码和尾数两部分。

  因为二进制数可写为如下一般形式:

  N=±S.2±J

  其中,J称为阶码(整数),2为阶码的底,S为尾数(纯小数)。

  在这种表示方法中,二进制小数点的位置随阶码移动,因此称为"浮点表示"。

  设一台机器中,以16位机器数(bit15~bit0)表示实数,阶符、数符各占一位,阶码占5位,尾数占9位,该机器的浮点数格式:

  注意:在微机中,使用32、64、80位来表示一个实数,且编码方法与上述原理不同。

  R=±1.M×2N,1为整数,M为尾数,N为指数 以32位实数为例。S(31)指数N(30~23),8位尾数M(BIT22~BIT0),23位

  表示的实数值R=±1.M×2(N-127)

  整数部分1是固定的,未在编码中表示出来。

  指数部分减去一个值,是为了避免出现负值。