软件设计师_计算机系统基础(1.1)

1.1 计算机系统基础知识

1.1.1 计算机硬件基本组成

1.1.2 中央处理单元

1.1.3 数据表示

机器数:计算机中的二进制数据

真值:机器数对应的实际数

机器数无符号表示正数;若约定小数点的位置在机器数的最低位之后,则是纯整数;若约定小数点的位置在机器数的最高位之前,则是纯小数。

带符号机器数,机器数的最高位表示正负符号位,其余位表示数值;同理上面的约定。

教材如下:

 

 1)原码: 最高位是符号位,0表示正号,1表示负号,其余n-1位是数值的绝对值;(n表示机器长,机器数用n个二进制表示数据)

      +1 原码:0 000 0001(2的0次方);         -1 原码:1 000 0001

      +45 原码: 0 010 1101 (2的5次方+3次方+2次方+0次方) ;  -45 原码: 1 010 1101

      +0.5 原码: 0.100 0000 (0.5=1/2,即2的-1次方),小数点后表示2的-1,-2,-3 ...次方 ;

      -0.5 原码: 1.100 0000  (教材上用1100 0000 , ◇表示小数点的位置)

    数值0原码两种表示:+0 原码: 0 000 0000   ;-0 原码: 1 000 0000  

教材如下:

 

 2)反码 :最高位是符号位,0表示正号,1表示负号正数的反码=原码相同,负数的反码是绝对值按位求反

    +1:反码 (即原码) :0 000 0001  ; -1反码:1 111 1110 (也就是+1的所有位取反,因为最高位表示正负也相反)

   +0.5 反码: 0 100 0000    ;  -0.5 反码: 1 001 1111 (教材上用 ◇表示小数点的位置)

     数值0原码两种表示:+0 反码: 0 000 0000   ;-0 反码: 1 111 1111 

教材如下:

  3)补码:最高位是符号位,0表示正号,1表示负号 ;正数的补码=原码=反码 ;负数补码=反码末尾+1 ;

    +1 补码:0 000 0001   ; -1 补码 :1 111 1111  (反码:1 111 1110 +1)

    +45补码:0 010 1101  ;  -45补码 :1 101 0011

    0.5 补码: 0 100 0000    ;  -0.5 补码1 100 0000(反码: 1 001 1111+1 需要向前面进位, 教材上用 ◇表示小数点的位置)

        数值0 有唯一的编码:+0 补码:0 000 0000 ; -0 补码: 0 000 000 

教材如下:

   4)移码 : 实际上只需要将补码的符号位取反 即可得到相应的移码 

    +1 移码:1 000 0001 ( +1的原码0000 0001,需要偏移2的7次方,对于纯正数来说直接,是直接在首位加1);

     -1 移码: 0 111 1111    ( -1 + 128 【2的7次方】-> 127 ,对于负数来说需要先加偏移量,再转换成二进制)

    +45 移码:1010 1101   ;  -45 移码:0 101 0011  (-45补码: 1 101 0011 )

    +0.5 移码:1 100 0000 ;(补码: 0 100 0000 ,转换成1+0.5=1.5,对于正纯小数来说移码是最高位换成1 ),

        -0.5 移码:0 100 0000 ;(补码: 1 100 0000 ,转换成1+【-0.5】=0.5 ),

    +0 移码:1000 0000   ; -0 移码:1000 0000

 2)定点数和浮点数

  教材:

 

  //。。。。。未完

1.1.4 校验码

 确保数据在传输过程中准确无误,思想是将数据分为合法编码和错误编码,如果合法编码出错会变成错误编码,这样可以检测出数据是否有错。

常见的三种:奇偶校验码,海明码,循环冗余校验码。

 

 

猜你喜欢

转载自www.cnblogs.com/coloz/p/11254335.html