软考——————计算机组成原理

一、数的分类

  1. 带符号数与无符号数
    • 带符号数:数的最高位作为符号位,0表示正数,1表示负数。
    • 无符号数:数的所有位均用来表示数值的大小,没有专门的符号位。
  2. 真值与机器数
    • 真值:利用“+”、“-”表示数的符号,数值部分为数的绝对值。
    • 机器数:在机器中用最高位表示数的符号,其它位表示数值的大小。最高位为符号位,规定用“0”表示正,“1”表示负。

二、数制角度

根据数制的不同,数的表示方法可以分为二进制数、十进制数、八进制数和十六进制数等。

  1. 二进制数:只包含0和1两个数字,每一位的值取决于它的位置(例如,1101表示2^3 + 2^2 + 0 + 2^0 = 13)。
  2. 十进制数:包含0到9这10个数字,每一位的值取决于它的位置(例如,123表示1×10^2 + 2×10^1 + 3×10^0 = 123)。
  3. 八进制数:包含0到7这8个数字,每一位的值取决于它的位置(例如,127表示8^2 + 2×8^1 + 7×8^0 = 87)。
  4. 十六进制数:包含0到9这10个数字以及A、B、C、D、E、F这6个字母(分别表示十进制的10到15),每一位的值取决于它的位置(例如,2F表示2×161 + 15×160 = 47)。

三、计算机编码角度

在计算机中,数的表示方法主要有原码、反码和补码三种。

  1. 原码
    • 正数:原码表示就是真值(例如,+11的原码为00001011)。
    • 负数:原码最高位为1,其余位是真值的绝对值(例如,-11的原码为10001011)。
    • 0值:原码表示的0有两种,0000和1000都表示0。
  2. 补码
    • 正数:补码的表示和原码相同(例如,+11的补码为00001011)。
    • 负数:补码最高位为1,其余位在原码的基础上取反+1(例如,-11的原码为10001011,取反后为11110100,再加1得到补码11110101)。
    • 0值:补码表示的0只有一种,即0000。
  3. 反码
    • 正数:反码的表示和原码相同(例如,+11的反码为00001011)。
    • 负数:反码最高位为1,其余位在原码的基础上取反(例如,-11的反码为11110100)。
    • 0值:反码表示的0有两种,0000和1000都表示0。
  4. 移码
    • 移码主要用于浮点数的运算阶码
    • 无论正数负数,都是将该原码的补码的第一位取反得到原码

四、小数点表示方法

对于小数,主要有定点表示法和浮点表示法两种。

  1. 定点表示法:小数点的位置固定不变。根据小数点位置的不同,可以分为纯小数表示法和整数表示法。
  2. 浮点表示法:小数点的位置是不定的,可以浮动。一个浮点数由符号位、阶码和尾数三部分组成,其中阶码表示小数点的位置,尾数表示数的有效值。
  3. 浮点数的运算
  4. 算术运算和逻辑运算 

校验码

        码距:两个编码之间变成另一个编码所需要改变的最少位数。例如编码0011与0001只有一位不同,所以这一组编码的码距就是1。

        码距越大,越利于纠错和检错

一、奇偶校验码

     在编码中增加一位校验位来使编码中1的个数为奇数(奇校验)或偶数(偶校验)。这样做可以使码距变为2。

     只能检错(1位),而且不能改错。

二、循环冗余校验码CRC

       只能检错,不能改错。

       采用模二运算

三、海明校验码

      本质上也是奇偶校验码。

      考点-->校验码的位数与数据位的位数之间的关系  

            n+k<=2^k-1    n是已知的数据位的个数,k是未知的校验码位个数

      (实际上考研使用  1,2,4,8,16,32 .......... 的方法只要判断什么时候这个数超过了当前数据大小,就能找到最小的k)

   唯一的能检错,能改错的校验码方式(全村的希望哈哈哈哈)

        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值