前言:这个视频在我第一次看的时候,上课到十几分钟,老师笔算完后,就一直没切slides,搞得上课小伙伴都懵逼了,而且这节课停下来确实有点难,讲到十几分钟就基本听不太懂了,去看了书对应的部分,也是懵懵懂懂,这次是第二次看视频,顺便把一些地方记录下来,希望这次能多看懂一点东西。

恩,开头老师用了一个GRE单词,解释浮点数是计算机系统中的 arcane area!受伤的心被安慰了一下。

Background: Fractional binary numbers

但是这种表达方式有局限性

  1. 我们只能表达 x/2^k的数
  2. 如果我们将二进制小数点左移,那么我们能表示的数的范围就下降了一半,此时能表示小数的精度上升。将二进制小数点向右移动是相反的效果

IEEE floating point standard: Definition

IEEE Floating Point

1985年成为统一标准,被所有的CPU支持,主要是出于数字方面的担忧,这是一种比较好的标准(对于rounding,overflow,underflow)。

Floating Point Representation

数字表达

编码

s代表了符号位,注意的是 exp 编码了 E,但是exp!=E,  frac编码了M,fac!=M!

Precision options精度选择

“Normalized” Values 标准值

“Normalized” Values是指此时exp不全是0也不全是1

Exponent 用偏置值去编码 E=Exp-Bias 其中Exp: unsighed value of exp field (即都是正数)Bias=,k是exponent bits的数量

单精度的exponent bit:127 (Exp:1..254, E:-126...127) 双精度exponent precision:1023(Exp:1...2046,E:-1022...1023)

Significand M用  编码,其中xxxxx:bits of frac field 当frac=00...0的时候M最小=1.0;当frac=111.1M最大

此时

等等!我换了个视频源老师演算完后切屏了!?

Denormalized Values 非规格化的值

我们之前说的M前面都有一个implied的1,因此是无法表示一个接近零的数字的!

在denormalized value中 ,没有隐含的1!这样的话尾数M的值就和frac域值完全等价!

以及还有以下的特殊值 case1代表极限 case2代表不存在的数 比如-1的平方根

Rounding, addition, multiplication

浮点数操作:基本思想

Rounding

IEEE默认采用Neatest Even模式,这是有统计学意义的!下面是round十进制的数例子

Rounding Binary Number

Floating Point Multiplication

Floating Point Addition

注意FP的加法中,满足交换律,但是不满足结合律!如下图,我们不能用足够的位数表示小数,我们就会舍弃。

在乘法中,也是满足交换律,但是不满足结合律!

C中的Floating Point

Floating Point Puzzle

这些puzzle很有趣!所以老师最后也说了float实际上不是真实的数,但是他们有很好的预测性,虽然不满足结合律,一定要小心!

后记:第二次看这个视频 中间的slide动了,看来是当初上传B的up主没有做好视频的剪辑工作。

然后这次看基本上都明白了!开心哦!

CMU 15-213 Introduction to Computer Systems学习笔记(3) Floating Point相关推荐

  1. Introduction to Computer Networking学习笔记(十五):Queue Model 包交换中的缓冲模型

    本章知识点比较零散,因此一篇文章进行总结,并且不具有连贯性,仅记录自己认为有价值的内容. 将较大的包拆分为小包进行传输,可以减小端对端延迟,原因如下图: 数据传输时,突发大量的数据包会增加延迟,简单周 ...

  2. CS269I:Incentives in Computer Science 学习笔记 Lecture 13:Introduction to Auctions(拍卖简介)

    Lecture 13 Introduction to Auctions(拍卖简介) 1 Preamble(前言) 为什么计算机科学家要关心拍卖?直到最近(甚至可能仍然),提到拍卖,我们脑海中联想到的图 ...

  3. CS269I:Incentives in Computer Science 学习笔记 Lecture 15 The VCG Mechanism(VCG机制)

    Lecture 15 The VCG Mechanism(VCG机制) 1 GSP vs VCG 作为本讲的开始,我们来证明上一讲中的一个重要结论: 回忆一下背景:有k个广告位,它们 的点击率排布为) ...

  4. CS269I:Incentives in Computer Science 学习笔记 Lecture 12 对称信息和声誉系统

    Lecture 12 Asymmetric Information and Reputation Systems(对称信息和声誉系统) 1 Preamble(前言) 之前的几讲,我们都在声誉系统的边缘 ...

  5. Coursera 机器学习 第9章(下) Recommender Systems 学习笔记

    9.5 Predicting Movie Ratings 9.5.1 Problem Formulation 推荐系统. 推荐系统的问题表述:电影推荐.根据用户对已看过电影的打分来推测用户对其未打分的 ...

  6. CS269I:Incentives in Computer Science 学习笔记 Lecture 17 评分规则和同辈预测(诚实预报和反馈激励)

    Lecture 17 Scoring Rules and Peer Prediction(Incentivizing Honest Forecasts and Feedback)(评分规则和同辈预测( ...

  7. POSEIDON: A New Hash Function for Zero-Knowledge Proof Systems 学习笔记

    1. 引言 Grassi等人2019年论文<POSEIDON: A New Hash Function for Zero-Knowledge Proof Systems>. 前序博客有: ...

  8. 概率导论(Introduction to Probability, 2E)学习笔记 Part Ⅰ

    笔记内容基于Introduction to Probablity, Second Edition 因笔者为初学者,故内容不会面面俱到 若有表述错误还望直接指出 --2022.1 样本空间与概率 本书的 ...

  9. Introduction to Materials Management 学习笔记--生产计划系统

    概述本章介绍了MPC(Manufacturing planning and control)系统.首先从总体上介绍一下,然后讲了生产计划的编制的一些细节(英文就是省事加个ing就能说明很多问题,本章在 ...

  10. Introduction to Materials Management 学习笔记

    搞了两三年AX,越来越困惑. 技术层面可以通过多读代码去解决大多数问题,毕竟AX里的那么多源代码是可以模仿的,加上AX本身是个很不错的开发平台,技术方面可能不需要太多时间就差不多可以应付了. 做AX最 ...

最新文章

  1. 怎样实现企业管理系统的操作日志功能
  2. 码上公益首秀,让科技更有温度!
  3. 为什么写C语言弹不出窗口,居然还有SB说C写不出窗口的..
  4. python-PyQuery详解
  5. python while函数_Python:无法在while循环中调用函数
  6. [转]Spring3 MVC + jQuery easyUI 做的ajax版本用户管理
  7. Unicode与GB18030、GBK、GB2312
  8. Java并发编程实战10:线程池
  9. 将image对象转成BufferedImage
  10. 2019已经很冷,2020年Android工作或更难找——进大厂面试必备基础技能
  11. 牛客多校4J二分答案连续子段最大平均值
  12. MacOS搭建golang开发环境
  13. Android Clock控件
  14. Python中calendar,time,datetime模块详情解 -------18
  15. 微信小程序开发之.js文件
  16. 关于钜泉光电ATT7053C计量芯片使用的若干经验
  17. vb For循环例子
  18. rust睡觉按键没反应_腐蚀Rust实用技巧大全 Rust新手上手指南
  19. 从一个技术人的炫酷简历,聊聊我公司的技术栈
  20. CATIA和SOLIDWORKS哪款软件更好学?

热门文章

  1. linux清空日志文件内容 (转)
  2. Clone使用方法详解【转载】
  3. 【转】boost 内存池
  4. Webservice 用http get方式无法请求到的解决办法
  5. Oracle 树状 父子结点 查询方法 倒叙查询
  6. excel、doc等office文件转pdf方法总结
  7. Java 序列化与反序列化详解
  8. 关于缓存击穿、缓存穿透、缓存雪崩及解决方案
  9. MyBatis中association,collection多表查询(resultMap高级映射)笔录
  10. centos 更新内核步骤