学习笔记——计算机组成原理第二章数制与编码

一、进制转换

1.十进制数137.5转化为8进制数,小数部分是多少

  • 整数与小数分开算
  • 0.5X8=4.0,乘积小数部分为0,不用继续往下乘。乘积整数部分作为转换进制后的小数部分

2.一个16位无符号数,能表示的范围,16位有符号数能表示的范围,最小的负数的二进制表示形式

  • 无符号数表示范围为0~216-1
  • 有符号数则为-215~215-1
  • 因为有符号数的最小负数的二进制是1000000000000000,而正数符号位为0的时候类似的表示方法0000000000000000表示的是0


二、BCD码

1.8421码

原理:跟二进制表示十进制数一样的,超过十进制直接加0110,俗称补六

2.余三码

原理:在8421码的基础上再加011

3.2421码

原理:大于5的二进制数最高位为1,权值分别为2,4,2,1
比如5表示为1011,6表示为1100


三、字符和字符串

1.ASCILL码

特点:

  • 7位二进制数表示,0000000-1111111,一共128位编码
  • 由于字节是计算机存储的基本单元,ASCII码最高位多出来的一位,就保持为0
  • 32号之前的符号不显示
  • a是97,A是65

2.字符串

  • 大端方式
  • 小端方式

以 int 类型的 0x12345678 为例,它占用 4 个字节,如果是小端模式(Little-endian),那么在内存中的分布情况为(假设从地址 0x 4000 开始存放):

内存地址0x40000x40010x40020x4003
存放内容0x780x560x340x12

如果是大端模式(Big-endian),那么分布情况正好相反:

内存地址0x40000x40010x40020x4003
存放内容0x120x340x560x78

总结一个存储单元是2B,8位,存储单 元内的顺序是不会变的,大小端区别的是存储单元直接的数据。

3.汉字码

  • 区位码:由区码和位码两个部分组成
  • 国际码:在区位码的基础上加2020H
  • 汉字码:在国家码的基础上加8080H


四、校验码

1.奇偶校验码

  • 只能检测奇数位的错误指的是只能检测数字是1的个数
  • 奇偶校验码=奇偶校验位+有效信息位
  • 配合ASCILL使用的题比较多,因为ASCILL码只有7位正好缺一位

2.汉明码(海明码)

  • 首先确定校验码个数2k>=n+k+1
  • 汉明码2i位置上存放的是校验码
  • 开始画表格,以求1010的汉明码为例
0111011001010100001100100001
1010
  • 进行分组,XXX1形式的为一组取异或
    XXX1形式的为一组取异或
    XX1X形式的为一组取异或
    X1XX形式的为一组取异或
    相当于是进行偶校验,得到表格。注意算的时候把0001,0010,0100去掉
0111011001010100001100100001
1010010
  • 纠错部分
    将搜索到的汉明码从位次高开始依次排开
    无错误情况是000
    检测到错误的话比如显示的是010,就说明第二个位置上的数错了,直接取反即可。
  • 全校验是指对除了这个位置之外 所有信息位和校验位进行偶校验得到的值。

3.循环冗余校验码(CRC)

  • 多项式为除数
  • 多项式最高次减一为信息码后缀补零的个数
  • 检查错误时,将CRC码与多项式产生的除数进行不借位除法,余数为0表示没有问题
  • 纠错方式有三种
    请求重发、删除数据、通过余数值自行纠正
  • 通常用于数据链路层,适合对大量数据的数据校验
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值