无符号数和有符号数
无符号数
无符号数没有符号部分,没有负数,寄存器的位数反映无符号数数值的表示范围,eg寄存器位数为8,则无符号数的表示范围为八个0到八个1即0~2^8-1
有符号数
有符号数包括符号和数值两部分,保存在存储器或寄存器中,最高位为符号位,0表示正数,1表示负,在计算机中没有专门的硬件用于表示小数点,计算机中,定点小数的小数点默认在符号位后面,定点整数的小数点默认在最低位后面
机器数和真值

将符号数值化的表示方法为原码表示
原码表示方法
原码即带符号的绝对值表示,正数的原码是它本身,0可以是正的也可以是负的,故0的原码有两种形式。为了方便理解,下面在原码的表示中,用逗号隔开符号位和数值,小数则标出小数点,但是在实际硬件中是没有逗号和小数点的存储的。原码是保存在计算机中的数,求某一个真值的原码表示形式必须知道机器数的数值长度是多少且该长度包含了一个符号位


其实简单来说

定点小数x的表现形式为0.***),定点整数的表现形式为***(位数不限),所有数都可以用定点小数和定点整数相组合得到。
原码的运算较麻烦,符号位不参加运算(符号位会受数值进位的的影响,故符号位不参与运算),加法运算器要“同号求和,异号求差”,减法运算器要“同号求差,异号求和”,求差的时候还要比较两数的大小,用大数减去小数,再确定符号位。很麻烦,那么我们能不能将减法可以变成加法,只做加法呢?我们需要找到一个与负数等价的正数将减法运算转变成加法运算,这就引出了补码。
补码表示法
补的概念

**一个负数加上“模”即得该负数的补数,一个正数和一个负数互为补数时它们的绝对值之和即为模数。正数的补数为它本身
补码的定义


n位2进制整数数的模为2^(n+1),2进制定点小数的模为2
补码的便捷求法
反码法

扫描法
当x小于0时,符号位为1,对其真值数据位从右到左顺序扫描,右起一个1及其右边的0保持不变,其余各位求反。正零和负零的补码相同,0的补码只有一种形式。
反码的表示法
定义
将原码符号位不变,数值位各位取反

Eg

由上图可看出,补码的大小顺序和对应真值的大小顺序并不一定相同,如对于二进制代码01111111和10000000,无符号数对应的真值分别为127、128显然127小于128 大小顺序正确可以直接比较,而补码对应的真值为127、-128,127并不小于-128,大小顺序并不和对应真值大小顺序相同,不能根据补码直接比较真值的大小。因此需要对补码进行修正,使其大小顺序和对应真值的大小顺序相同,由此引出移码。
移码表示法

移码的定义

移码没有小数形式,都是整数,可以直接比较大小,因此移码通常用来表示浮点数的阶码。最小真值-2^n的移码为全0给出不同真值,分别求对应的移码和补码,可得出 移码和补码的符号位相反,数值位相同
0的移码只有一种形式
数的定点表示和浮点表示
数的定点表示
计算机中没有硬件来表示小数点,小数点的位置由设计计算机体系结构人员决定,一般小数 小数点的位置默认为符号位后面数值位前面,称为定点小数,该机器称为小数定点机;整数 小数点的位置默认为数值部分后面,称为定点整数,该机器称为整数定点机
数的浮点表示
   当计算机需要表示一个位数十分大的数,而该数的高位大多均是零,那么就需要很大的存储单元,而该数可能只会用到一次,就会造成存储容量的浪费。因此我们引入浮点数表示,提高存储容量的利用率。

浮点数的表示形式

浮点数的表示范围

浮点数的规格化表示

所谓规格化处理就是使得尾数真值最高有效位为1,也就是尾数的绝对值应大于或等于(0.1)(2进制),(0.5)(十进制)

IEEE754标准

IEE754标准中阶码用移码表示,而移码的偏移量由阶码的位数及浮点数的精度决定,eg:8位阶码单精度浮点数对应移码的偏移量为127。具体标准可自行查询,这里不做过多说明。