数制:
主要为计数进位制:常用有二进制,八进制,十六进制,十进制
其中二进制位计算机内部的编码方法,八进制和十六进制作为二进制的缩写形式。
原因:
①物理:用两种稳定状态的物理器件表示二进制数比较容易
②逻辑:二进制编码,计数,运算规则简单,还可以用0,1表示真假,提供逻辑运算
基本数码:计数制使用的基本符号。0,1,2,....
基数(R):计数制中数码的个数,最小为0,最大为R-1,计数时当某位数记到R时,在该位记作0,并向高位进1,即逢R进1。这样的进制为R进制
数位:数码的位置
位权:不同的数位赋予该位上的数字以不同的数表示数的大小的权利,大小为数位上的数所乘的倍数。
进制转换:
其他进制转换为十进制数:按权展开
十进制转二进制:
整数转换:除2取余,逆序输出
小数转换:乘2取整,正序输出
二进制与十六进制的互换:
二进制与八进制的互换:
BCD码的运算:
机器数:计算机内部编码表示的数。带符号,0表示正,1表示负
真值:带符号的机器数真正的值(除最高位外是数值位)
字符和字符串的存储:
ASCII码:
数字、字母、符号共128(2^7)个字符,7位二进制编码,因为计算机通常把8位二进制数作为1个字节(1B),所以用一个字节可以表示一个字符
汉字的表示和编码:
GB 2312-80:汉字+各种符号共7445个
介绍:
*GB2312-80 把7445个汉字分为94个区,每个区94个位置,可以用区号+位置号确定一个汉字,所以一个汉字占用两个字节。
*防止与ASIIC码冲突,在区号和位置号后都+128即+80H,得到汉字内码
汉字输出:字形码
字符串的储存:
假设计算机按字节编址,即每个地址是一个字节。一个字符串中的字符按照ASCII码对应的二进制数,从低地址到高地址依次被存放。在很多语言中,‘\0’作为字符串结尾标志。
在所有计算机中,多字节数据都被存放在连续的字节序列中。根据数据中各字节的排列顺序不同,可能有“大端模式”、“小端模式”
大端模式:将数据的最高有效字节存放在低地址单元中
小端模式:将数据的最高有效字节存放在高地址单元中
校验原理:
码距:两个合法码字对应位上数字的不同位的个数
当码距大于1时,可以通过一些手段校验数据是否正确(了解)
信息 | A | B | 码距 |
码字 | 00 | 01 | 1 |
码字 | 00 | 11 | 2 |
奇校验:整个校验码(有效信息位和校验位)中1的个数为奇数
信息 | A | B | 码距 |
码字(奇校验) | 100 | 001 | 2 |
当数据中奇数的个数与校验位不一致时,可以检测到出错。但是只能检验奇数个数据位出错的情况。
偶校验:整个校验码(有效信息位和校验位)中1的个数位偶数
海明校验码:
设计思路:分组校验->多个校验位->校验位标注出错的位置
校验位的分布:校验位Pi放在海明位号位2^(i-1)的位置上
信息位按顺序放到其余位置
假设n=4,信息位位1010,由公式可得k=3,且方法H1,h2,h4的位置
相当于让不同信息的对应位上有偶数个1
循环冗余校验码:
掌握求解方法