计算机系统基础复习笔记——数据的机器级表示与处理

数据的机器级表示与处理

文章目录

机器数的表示方式

原码

原码的表示第一位为符号位,其余位为2进制数表示真值

优点: 与真值的对应关系直观、方便

缺点:

  1. 0的表示不唯一,如:0000…0 1000.0000都能表示0

          2. 原码加减运算不方便
    

表示范围: − 2 n − 1 + 1 ≤ X ≤ 2 n − 1 − 1 -2^{n-1}+1\le X\le 2^{n-1}-1 −2n−1+1≤X≤2n−1−1

补码

在计算机中,补码用来表示带符号整数

正数的补码符号为0,数值部分是它本身

负数的补码表示为数值部分取反加1

求真值时负数的数值位取反加1

优点

  1. 0的表示唯一
  2. 将减法变成加法运算,更方便

真值转换:将补码的数值位取反加1

表示范围: − 2 n − 1 ≤ X ≤ 2 n − 1 − 1 -2^{n-1}\le X\le2^{n-1}-1 −2n−1≤X≤2n−1−1

反码

正数各位取反得到反码

负数的反码是补码表示中末位减1

缺点:0的表示不唯一

表示范围: − 2 n − 1 + 1 ≤ X ≤ 2 n − 1 − 1 -2^{n-1}+1\le X\le 2^{n-1}-1 −2n−1+1≤X≤2n−1−1

移码

用移码表示浮点数的阶

优点:简化了对阶操作

无符号数 有符号数大小的比较

在C语言中,如果执行一个运算时,同时有无符号整数和带符号整数参加,则C语言会按无符号整数进行运算

浮点数的表示

规格化:在浮点数的运算中,要对浮点数进行规格化操作

0表示:在IEEE标准中,浮点数的0表示不唯一,有正0和负0。阶码为0,尾数为0。符号位可不同

无穷:阶码全为1,尾数为0,符号位决定正负无穷

NaN:阶码全为1,尾数不为0即可

非规格化数:阶码全为0

数据的存储和排列顺序

最低有效位:数的最低位

最高有效位:数的最高位

大端方式:将数据的最高有效字节放在小地址单元(符合人的习惯)

小端方式:将数据的最高有效字节放在大地址单元

位扩展运算和位截断运算

长数大到短数无法表示的程度

扩展时有有符号扩展和无符号扩展

上一篇:数论 拉格朗日插值 glP5437题解


下一篇:[学习笔记]快速傅里叶变换