机器数与真值展开目录
- 真值:带符号的数 +1.1011,-0.1011
- 机器数:符号数字化的数 0.1011,1.1011
原码表示法展开目录
整数展开目录
小数展开目录
举例展开目录
原码的缺点展开目录
用原码做加法时,会出现如下问题:
补码表示法展开目录
从刚才原码做加法我们可以看出,由于数的正负形不确定,导致最终做的运算也不确定,因此我们想找一个与负数等价的正数,来代替这个负数,使得减法变成加法
我们从生活中的一个例子来讲这个概念 —— 时钟
假设现在时钟指向 6 点,我们要调整到 3 点,有两种办法:逆时针转动 3 小时或者顺时针转动 9 小时结论:
- 一个负数加上 “模” 即得该负数的补数
- 一个正数和一个负数互为补数时,他们的绝对值之和即为模数
- 正数补码为其本身
- 负数补码为数值为取反加 1
练习展开目录
求下列真值的补码
-70 = 1,1000110
70 = 0,1000110
0.1110 = 0.1110
-0.1110 = 1.1110
0.0000 = 0.0000
-0.0000 = 0.0000 因为由小数补码的定义,x<0 时,x 的补码为 2+x
-1.0000 = 1.0000
反码表示法展开目录
练习展开目录
三种机器数的小结展开目录
- 最高位为符号位,书写上用 “,”(整数)或 “.”(小数)将数值部分和符号位隔开
- 对于正数,原码 = 补码 = 反码
对于负数,符号位为 1,其数值部分
- 原码除符号位外每位取反末位加 1 = 补码
- 原码除符号位外每位取反 = 反码
例题展开目录
1. 设机器数字长为 8 位(其中 1 位为符号位)对于整数,当其分别代表无符号数、原码、补码和反码时,对应的真值范围各为多少?
移码表示法展开目录
移码定义展开目录
- 小数没有移码定义
这个评论系统是怎么搞的??
typecho 自带评论系统