计算机中数据的表示及运算

本文介绍了计算机中数据的不同表示方法,包括进位计数制的转换,如十进制、二进制、八进制和十六进制之间的转换。详细阐述了二进制的运算规则以及机器数的原码、反码、补码和移码表示。此外,讨论了定点数和浮点数的概念,以及十进制数、字符和汉字的编码,如ASCII码和汉字的输入码、内部码和字形码。同时提到了Unicode标准和几种校验码,如奇偶校验码和CRC码。
摘要由CSDN通过智能技术生成

2.1 计算机中数据的表示

2.1.1 进位计数制及其转换

不同数制的共同特点
每种数制都有固定的符号集。
每种数制都使用位置表示法。

十进制与二进制相互转换
十→二:十进制数的整数部分《除二取余》,小数部分《乘二取整》
二→十:将二进制数的每一位数乘以它的权值,然后相加。

八进制与十进制、二进制相互转换
十→八:十进制数的整数部分《除八取余》,小数部分《乘八取整》
二→八:从小数点起,每三位二进制位分成一组(不足3位时,在小数点左边则左边补0,在小数点右边则右边补0),然后写出每一组的等值八进制数,顺序排列起来就得到所要求的八进制数。
八→二:将一位八进制数用三位二进制数表示,就可以直接将八进制数转换成二进制数。
在这里插入图片描述
十六进制与十进制、二进制转换
十→十六:十进制数的整数部分《除16取余》,小数部分《乘16取整》
二→十六:从小数点开始,每4位二进制数为一组(不足4位时,在小数点左边则左边补0,在小数点右边则右边补0),将每一组用相应的十六进制数符来表示,即可得到正确的十六进制数

2.1.2 二进制运算规则

加法:二进制加法的进位规则时“逢二进一”
在这里插入图片描述
减法:二进制减法的错位规则是“借一当二”
在这里插入图片描述
乘法
在这里插入图片描述

2.1.3 机器数和码制

在这里插入图片描述

3.1原码表示
数值X的原码记为[X]如果机器字长位n(即采用n个二进制位表示数据),则最高位是符号位,0表示正号,1表示负号,其余的n-1位表示数值的绝对值。
如,机器字长n等于8,则数值0的原码表示有两种形式:
[+0]=00000000
[-0]=10000000

3.2反码表示
数值X的反码记作[X],如果机器字长为n,则最高位是符号位,0表示正号,1表示负号,其余的n-1位表示数值。正数的反码与原码相同,负数的反码则是原码绝对值按位求反。
如,机器字长n等于8,则数值0的原码表示有两种形式:
[+0]=00000000
[-0]=11111111

3.3补码表示
数值X的补码记作[X],如果机器字长为n,则最高位是符号位,0表示正号,1表示负号,其余的n-1位表示数值。正数的补码与其原码和反码相同,负数的补码则等于其反码的末尾加1。
如,机器字长n等于8,则数值0的原码表示有两种形式:
[+0]=00000000
[-0]=00000000

3.4移码表示
移码表示法是在数X上增加一个偏移量来定义的,常用于表示浮点数中的阶码。如果机器字长为n,在偏移量位2n-1时,只要补码的符号位取反便可获得相应的移码表示。偏移量也可以是其他值。采用移码表示时,码值大者对应的真值就大。
如,机器字长n等于8,则数值0的原码表示有两种形式:
[+0]=10000000
[-0]=10000000

2.1.4 定点数和浮点数

定点数
表示数据时小数点的位置固定不变。
定点整数、定点小数

机器字长为n时各种码制表示的带符号数的范围

码制定点整数定点小数
原码-(2n-1-1) ~ +(2n-1-1)-(1-2-(n-1)) ~ +(1-2-(n-1))
反码-(2n-1-1) ~ +(2n-1-1)-(1-2-(n-1)) ~ +(1-2-(n-1))
补码-2n-1 ~ +(2n-1-1)-1 ~ +(1-2-(n-1))
移码-2n-1 ~ +(2n-1-1)-1 ~ +(1-2-(n-1))

浮点数
浮点数是小数点位置不固定的数,浮点表示法能表示更大范围的数。
一个含小数点的二进制数N可以表示位更一般的形式:
N=2E*F
其中,E成为阶码,F为尾数,这种表示方法成为浮点表示法

2.1.5 十进制数与字符的编码表示

在这里插入图片描述
十进制数:0~9。
8421BCD码:在8421BCD码基础上加0011。
格雷码:已0000开始相邻的两个代码之间只有一位不同。

2.1.6 ASCII码

ASCII码采用7个二进制标识,即d6d5d4d3d2d1d0对字符进行编码:
低4位组d3d2d1d0用作行编码,
高3位组d6d5d4用作列编码。
在这里插入图片描述
0的ASCII码值011 0000(25+24=48)。
a的ASCII码值110 0001(26+25+20=97)。

2.1.7 汉字编码

输入码汉字输入码分为三类:数字编码、拼音编码、字形编码。

  • 数字编码
    就是用数字串代表一个汉字的输入。
    常见的数字编码是国标区位码。
    国标区位码将国家标准局公布的6763个两级汉字1分成94个区,每个区94位。汉字在区位码表的排列时有规律的。
    1~15区:字母、数字和符号
    16~87区:一级汉字、二级汉字
    88~94区:未安排字符码位
    附加资料:
    1.区位码查询(https://www.qqxiuzi.cn/bianma/quweima.php)
    2.码表(https://www.qqxiuzi.cn/zh/hanzi-gb2312-bianma.php)
  • 拼音编码
    拼音码是以汉语读音为基础的输入方法。
    由于汉字同音字太多,输入重码率很高,因此,按拼音输入后还必须进行同音字选择,会影响输入速度。
  • 字形编码
    以汉字的形状确定的编码,五笔字型编码是最常见的输入码。

内部码:
汉字内部码是汉字在设备和信息处理系统内部存储、处理、传输汉字用的代码。

字形码:
汉字字形码是表示汉字字形的字模数据,通常用点阵、矢量函数等方式表示,用点阵表示字形时,汉字字形码指的就是这个汉字字形点阵的代码。

2.1.8 Unicode

ISO/IEC 10646(简称UCS)
Unicode
UCS-2到UTF-8的编码对应关系如下表
在这里插入图片描述

2.2 校验码

2.2.1 奇偶校验码

2.2.2 海明码

⊕⊖⊝

2.2.3 循环冗余校验码

2.3 逻辑代数及逻辑运算

2.3.1 基本逻辑运算

2.3.2 常用的逻辑公式

2.3.3 逻辑表达式及其化简

2.4 机器数的运算

2.4.1 机器数的加减运算

2.4.2 机器数的乘除运算

2.4.3 浮点运算


  1. 两级汉字: 一级汉字以汉语为序排列,二级汉字以偏旁部首进行排列 ↩︎

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值