复习3-5天【80天学习完《深入理解计算机系统》】第七天

专注 效率 记忆
预习 笔记 复习 做题

欢迎观看我的博客,如有问题交流,欢迎评论区留言,一定尽快回复!(大家可以去看我的专栏,是所有文章的目录)
 
文章字体风格:
红色文字表示:重难点★✔
蓝色文字表示:思路以及想法★✔
 
如果大家觉得有帮助的话,感谢大家帮忙
点赞!收藏!转发!

本博客带大家一起学习,我们不图快,只求稳扎稳打。
由于我高三是在家自学的,经验教训告诉我,学习一定要长期积累,并且复习,所以我推出此系列。
只求每天坚持40分钟,一周学5天,复习2天
80天后我们学习完《深入理解计算机系统》
本课程来自b站 九曲阑干

【80天学习完《深入理解计算机系统》】第三天 2.3 整数运算

    • 1. 255+1 = 0
    • 2. 如何判断溢出
    • 3. 逆元
    • 4. 补码加法 正负溢出
      • 两个正数相加 小于 0 正溢出
      • 两个负数相加 大于0 负溢出
      • 正溢出
      • 负溢出
    • 5. 乘法和位运算
    • C语言类型转换
    • -x = (~x)+ 1
    • 1. 二进制表示浮点数
      • V = (-1)^s^ × M × 2 ^E^
      • 非规格数(M = 1 + f)规格化(M = f )
      • E = e - bias
      • bias = 2^8-1^-1
    • 2. 非规格化的数的作用
      • 浮点数的0
      • 表示接近0的数
    • 3. 特殊值
    • 4. 类比于1字节表示 浮点数
    • 5. 12345 和 12345.0 的二进制对比
    • 6. 浮点数舍入
      • 向上向下舍入 就画数轴
      • 向偶数舍入 比如 1.5
    • 7. 浮点数 加减乘除法可能不适合 结合律
    • 8. 类型转换
      • 小到大 不会溢出 可能会 舍入
      • 大到小 可能溢出 或者 精度降低
      • 向0舍入
    • 1. int 转成 float(由于float的有效位是23位)
    • 2. 返回补码最小值
    • 3. -x = ~x + 1
      • 为什么?
      • x + (~x)= -1
        • 全是1的二进制 值是-1
    • 4. 无符号int 看成 float 然后返回*2的值
      • 1. 先取到exp的值(判断是否为规格化的数)
      • 2. 取frac(与exp一起判断是否为特殊值)
        • 规格化的数:exp !=0 !=255
        • 无穷大 exp = 255 并且frac = 0
        • 不是一个数 exp = 255 并且 frac !=0
        • 非规格化 exp = 0 f = 0 表示 0或者-0(看s)
        • 非规格化 exp = 0 f !=0 表示非常接近0
          • 答案:
            • 1. 返回原数(0值 无穷大值 非数值)
            • 2. 无限接近0的数 返回 M*2的值(因为E是为0)
            • 3. 返回E*2的值(规格化)
            • 4. 如果溢出 则返回特殊值
            • 最终答案
    • 5. int 和 float哪一个表示的范围大
    • 6. 0.2的浮点数(无限循环小数)

在这里插入图片描述

1. 255+1 = 0

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2. 如何判断溢出

在这里插入图片描述

3. 逆元

在这里插入图片描述

4. 补码加法 正负溢出

两个正数相加 小于 0 正溢出

两个负数相加 大于0 负溢出

在这里插入图片描述

在这里插入图片描述

正溢出

在这里插入图片描述

负溢出

在这里插入图片描述

5. 乘法和位运算

在这里插入图片描述

C语言类型转换

在这里插入图片描述

-x = (~x)+ 1

在这里插入图片描述

复习3-5天【80天学习完《深入理解计算机系统》】第七天_第1张图片

1. 二进制表示浮点数

V = (-1)s × M × 2 E

非规格数(M = 1 + f)规格化(M = f )

E = e - bias

bias = 28-1-1

复习3-5天【80天学习完《深入理解计算机系统》】第七天_第2张图片
复习3-5天【80天学习完《深入理解计算机系统》】第七天_第3张图片
复习3-5天【80天学习完《深入理解计算机系统》】第七天_第4张图片
复习3-5天【80天学习完《深入理解计算机系统》】第七天_第5张图片
复习3-5天【80天学习完《深入理解计算机系统》】第七天_第6张图片

2. 非规格化的数的作用

浮点数的0

表示接近0的数

复习3-5天【80天学习完《深入理解计算机系统》】第七天_第7张图片

3. 特殊值

复习3-5天【80天学习完《深入理解计算机系统》】第七天_第8张图片
复习3-5天【80天学习完《深入理解计算机系统》】第七天_第9张图片

4. 类比于1字节表示 浮点数

复习3-5天【80天学习完《深入理解计算机系统》】第七天_第10张图片

5. 12345 和 12345.0 的二进制对比

复习3-5天【80天学习完《深入理解计算机系统》】第七天_第11张图片
复习3-5天【80天学习完《深入理解计算机系统》】第七天_第12张图片

6. 浮点数舍入

向上向下舍入 就画数轴

向偶数舍入 比如 1.5

复习3-5天【80天学习完《深入理解计算机系统》】第七天_第13张图片

7. 浮点数 加减乘除法可能不适合 结合律

复习3-5天【80天学习完《深入理解计算机系统》】第七天_第14张图片
复习3-5天【80天学习完《深入理解计算机系统》】第七天_第15张图片

8. 类型转换

小到大 不会溢出 可能会 舍入

复习3-5天【80天学习完《深入理解计算机系统》】第七天_第16张图片

大到小 可能溢出 或者 精度降低

在这里插入图片描述

向0舍入

复习3-5天【80天学习完《深入理解计算机系统》】第七天_第17张图片
在这里插入图片描述

1. int 转成 float(由于float的有效位是23位)

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

2. 返回补码最小值

在这里插入图片描述
要求 常数不超过8bit
在这里插入图片描述

3. -x = ~x + 1

为什么?

x + (~x)= -1

全是1的二进制 值是-1

在这里插入图片描述

4. 无符号int 看成 float 然后返回*2的值

1. 先取到exp的值(判断是否为规格化的数)

在这里插入图片描述

2. 取frac(与exp一起判断是否为特殊值)

在这里插入图片描述

规格化的数:exp !=0 !=255

无穷大 exp = 255 并且frac = 0

不是一个数 exp = 255 并且 frac !=0

非规格化 exp = 0 f = 0 表示 0或者-0(看s)

非规格化 exp = 0 f !=0 表示非常接近0

在这里插入图片描述

答案:
1. 返回原数(0值 无穷大值 非数值)

在这里插入图片描述

在这里插入图片描述

2. 无限接近0的数 返回 M*2的值(因为E是为0)

在这里插入图片描述

3. 返回E*2的值(规格化)

在这里插入图片描述
在这里插入图片描述

4. 如果溢出 则返回特殊值

在这里插入图片描述

最终答案

在这里插入图片描述

5. int 和 float哪一个表示的范围大

在这里插入图片描述

6. 0.2的浮点数(无限循环小数)

在这里插入图片描述
在这里插入图片描述

你可能感兴趣的:(80天学完,深入理解计算机系统,学习)