数据的表示及运算

╰半夏微凉° 2024-03-26 20:32 189阅读 0赞

该部分主要时知识大纲的梳理,可能会与很多部分知识点并不详细(主要是为了考察初级软考知识的储备是否充分~)

一、数据的表示

计算机中常见的数制有:

二进制B 0,1,10,11,100,101,110,111…

八进制 O 0,1,2,3,4,5,7,10,11,12…

十进制D 1,2,3,4,5,6,7,8,9,10,11,12…

十六进制 H 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F…

1、二进制转十进制(按权展开法)

ced62a4fb97d488db4e9a7d613ca440d.png

2、二进制转八进制

从小数点起,每3位二进制为一组(不足3位时在小数点左边时左边补0,在小数点右边时右边补0),然后写出每一组等值八进制,顺序排列得到所要求的八进制(二进制转十六进制 每4位)

d0b5040860e0476f9969d49298751db4.jpeg

二进制转换为八进制、十六进制

3、常见的进制数

ddb07bda987641e9b8171bad356c7335.png

4、十进制转二进制,八进制,十六进制方法

对于整数部分,除基数取余,对于小数部分,乘基数取整。

例:把十进制175.718转换为对应的二进制数

1010 1111.001

二进制运算:加法是“逢二进一”,减法是“借一当二”,乘法”亦或”

二、码制

为了方便运算,带符号的机器数可以采用原码、反码、补码、移码来表示

  • 原码就是符号位加上真值的绝对值:即用第一位表示符号 其余位表示值。

比如如果是8位二进制: +1 = 1000_0001

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

  • 补码:正数的补码就是其本身,负数的补码是在其反码的基础上+1

  • 移码:不管正负数,只要将其补码的符号位取反即可

最高位为符号位(0正1负)

0251dda92caa4be5b9fa30e8c8d7c517.png

码制

定点表示即约定机器数中的小数点位置是固定不变的。根据小数点固定的位置不同可以分为定点小数和定点整数

定点小数:用来表示浮点数的尾数, 定点整数:用来表示浮点数的阶,即指数, 需要注意的是, 定点小数 用原码来表示, 定点整数 用移码来表示,

1225653aeb8c4e05afcd3d81ad0df5af.png

码制的表示范围

浮点数的表示:

4191df98021241b4845396e99802b92b.png

注意:阶码的位数决定数的表示范围,数值的精度由尾数决定

规格化是将尾数的绝对值限定在区间[0.5,1)

其他:BCD码、余3码、格雷码、ASCII码、汉字编码、Unicode

三、逻辑运算与机器运算

1、与、或、非、异或运算

逻辑运算,运算规则:全真为真,有假为假

逻辑运算,运算规则:全假为假,有真为真

逻辑运算,运算规则:真变假,假变真。

逻辑异或运算,运算规则:相异为真,相同为假

逻辑同或运算,运算规则:相同为真,相异为假

2、交换律、结合律、分配律、反演律、互补律、吸收律、对合律等

反演律(摩根定律):将逻辑函数表达式中所有的“-”变成“+”,“+”变成“-”,“0”变成“1”,“1”变成“0”,原变量变成反变量,反变量变成原变量(即与或互换,原变量换为非变量,并将1与0互换,),并保持原函数中的运算顺序不变 ,则所得到的新的函数为原函数f的反函数

对偶律:将逻辑函数f表达式中所有的“-”变成“+”,“+”变成“-”,“0”变成“1”,“1”变成“0”(即与或互换,0,1互换),并保持原函数中的运算顺序不变,则所得到的新逻辑表达式称为函数f的对偶式,并记为f’

互补律:描述A和自身的反变量¬A之间的关系。(1)A·¬A=0,即A和自身反变量相与始终为0;(2)A+¬A=1,即A和自身反变量相或始终为1。

16a0120062f642ce94e10317f694a1d5.png

互补律

吸收率:

e599543715e6426cb6138a6bc7f3058a.png

吸收率

3、原码、补码的加、减法

原码:

加法规则:先判断符号位,若相同,则绝对值相加,结果符号位不变;若不同,则做减法,绝对值大的数减去绝对值小的数,结果符号位与绝对值大的数相同

减法规则:减数符号取反,然后按加法规则进行计算

补码:

(1)符号位要作为数的一部分一起参加运算,符号位产生的进位要丢掉

(2)逢二进一

(3)参与运算的两个操作数均用补码表示

对于补码来说,不管是加法还是减法,最后都会化为加法进行计算

4、浮点数运算 :

步骤:对阶 -> 尾数计算 ->结果格式化

对阶时, 小数向大数靠近

对阶时 ,通过较小数的尾数右移实现

d419afd384c942fc9ff328ebe49cd881.png

其中,

  • R:基数,对于二进计数值的机器是一个常数,一般规定为2、8、16中的一个

  • e:指数

  • M:尾数

一个机器浮点数由阶码和尾数以及符号位组成

  • 尾数:用定点小数表示,给出有效数字的位数

  • 阶码:用定点整数形式表示,知名小数点在数据中的位置,决定了浮点数的表示范围。

标准表示方法:为便于软件移植,使用 IEEE标准IEEE754

  • 尾数用原码;

  • 阶码用变形移码;

  • 基为2

有关浮点的知识

5、溢出

只有当两个同符号的数相加(或者是相异符号数相减)时,运算结果才有可能溢出。

  • 当运算结果大于最大正数时称为正上溢,小于绝对值最大负数时称为负上溢;正上溢和负上溢统称为上溢,数据一旦产生上溢,计算机必须中止运算操作,进行溢出处理。

  • 当运算结果在0至规格化最小正数之间称为正下溢,在0至绝对值最小负数之间称为负下溢;正下溢和负下溢统一称为下溢,数据一旦出现下溢,计算机一般不做任何处理,仅仅置为机器数0即可。

只要浮点数的尾数为0,不论阶码为何值,一般也当作机器零来处理。为了保证浮点数0的唯一性,规定了机器数的标准格式即尾数为0,阶码为最小值(绝对值最大的负数)

四、校验码

奇偶校验

海明校验

循环冗余校验

发表评论

表情:
评论列表 (有 0 条评论,189人围观)

还没有评论,来说两句吧...

相关阅读