数制、编码、校验

本文介绍了计算机中数据的表示方式,包括二、八、十六进制及其转换,机器数的概念,以及字符编码如ASCII码和汉字编码。此外,还探讨了数据存储的字节顺序(大端、小端模式)和错误检测方法,如奇偶校验和海明校验码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数制:

主要为计数进位制:常用有二进制,八进制,十六进制,十进制

其中二进制位计算机内部的编码方法,八进制和十六进制作为二进制的缩写形式。

原因:

①物理:用两种稳定状态的物理器件表示二进制数比较容易

②逻辑:二进制编码,计数,运算规则简单,还可以用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时,可以通过一些手段校验数据是否正确(了解)

信息AB码距
码字00011
码字00112

奇校验:整个校验码(有效信息位和校验位)中1的个数为奇数

信息AB码距
码字(奇校验)1000012

 当数据中奇数的个数与校验位不一致时,可以检测到出错。但是只能检验奇数个数据位出错的情况。

偶校验:整个校验码(有效信息位和校验位)中1的个数位偶数

海明校验码:

设计思路:分组校验->多个校验位->校验位标注出错的位置

 校验位的分布:校验位Pi放在海明位号位2^(i-1)的位置上

信息位按顺序放到其余位置

假设n=4,信息位位1010,由公式可得k=3,且方法H1,h2,h4的位置

 相当于让不同信息的对应位上有偶数个1

 循环冗余校验码:

 掌握求解方法

 

 

 无符号数:整个机器字长全部二进制位均为数值位,没有符号位,相当于数的绝对值

表示范围:n位二进制数0~2^n-1

有符号数:用一位二进制数表示正负(0正1负)


小数点的表示问题:约定小数点的位置来实现

定点数:小数点位置约定在固定位置

定点小数:小数点总是固定在数的最左边

定点整数:小数点总是固定在数的最右边。可用定点整数表示整数

浮点数:小数点位置约定为可浮动的数

浮点表示

 任意一个浮点数都可以用一个定点小数和一个定点整数表示。


约定:X表示真值,[X]补 表示补码,[X]反 表示反码,[X]移 表示移码

假设字长为8位(符号位+数值位),最高位为符号位

原码:用一个符号位表示正负。符号、数值分开处理

 反码:正数反码是其本身,负数的反码是在其原码的基础上,符号位不变,其余各个位取反

 补码:正数的补码是其本身,负数的补码是在其原码的基础上,符号位不变,其余各位取反,最后+1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值