CMU 15-213 Introduction to Computer Systems学习笔记(3) Floating Point
前言:这个视频在我第一次看的时候,上课到十几分钟,老师笔算完后,就一直没切slides,搞得上课小伙伴都懵逼了,而且这节课停下来确实有点难,讲到十几分钟就基本听不太懂了,去看了书对应的部分,也是懵懵懂懂,这次是第二次看视频,顺便把一些地方记录下来,希望这次能多看懂一点东西。
恩,开头老师用了一个GRE单词,解释浮点数是计算机系统中的 arcane area!受伤的心被安慰了一下。
Background: Fractional binary numbers
但是这种表达方式有局限性
- 我们只能表达 x/2^k的数
- 如果我们将二进制小数点左移,那么我们能表示的数的范围就下降了一半,此时能表示小数的精度上升。将二进制小数点向右移动是相反的效果
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相关推荐
- Introduction to Computer Networking学习笔记(十五):Queue Model 包交换中的缓冲模型
本章知识点比较零散,因此一篇文章进行总结,并且不具有连贯性,仅记录自己认为有价值的内容. 将较大的包拆分为小包进行传输,可以减小端对端延迟,原因如下图: 数据传输时,突发大量的数据包会增加延迟,简单周 ...
- CS269I:Incentives in Computer Science 学习笔记 Lecture 13:Introduction to Auctions(拍卖简介)
Lecture 13 Introduction to Auctions(拍卖简介) 1 Preamble(前言) 为什么计算机科学家要关心拍卖?直到最近(甚至可能仍然),提到拍卖,我们脑海中联想到的图 ...
- CS269I:Incentives in Computer Science 学习笔记 Lecture 15 The VCG Mechanism(VCG机制)
Lecture 15 The VCG Mechanism(VCG机制) 1 GSP vs VCG 作为本讲的开始,我们来证明上一讲中的一个重要结论: 回忆一下背景:有k个广告位,它们 的点击率排布为) ...
- CS269I:Incentives in Computer Science 学习笔记 Lecture 12 对称信息和声誉系统
Lecture 12 Asymmetric Information and Reputation Systems(对称信息和声誉系统) 1 Preamble(前言) 之前的几讲,我们都在声誉系统的边缘 ...
- Coursera 机器学习 第9章(下) Recommender Systems 学习笔记
9.5 Predicting Movie Ratings 9.5.1 Problem Formulation 推荐系统. 推荐系统的问题表述:电影推荐.根据用户对已看过电影的打分来推测用户对其未打分的 ...
- CS269I:Incentives in Computer Science 学习笔记 Lecture 17 评分规则和同辈预测(诚实预报和反馈激励)
Lecture 17 Scoring Rules and Peer Prediction(Incentivizing Honest Forecasts and Feedback)(评分规则和同辈预测( ...
- POSEIDON: A New Hash Function for Zero-Knowledge Proof Systems 学习笔记
1. 引言 Grassi等人2019年论文<POSEIDON: A New Hash Function for Zero-Knowledge Proof Systems>. 前序博客有: ...
- 概率导论(Introduction to Probability, 2E)学习笔记 Part Ⅰ
笔记内容基于Introduction to Probablity, Second Edition 因笔者为初学者,故内容不会面面俱到 若有表述错误还望直接指出 --2022.1 样本空间与概率 本书的 ...
- Introduction to Materials Management 学习笔记--生产计划系统
概述本章介绍了MPC(Manufacturing planning and control)系统.首先从总体上介绍一下,然后讲了生产计划的编制的一些细节(英文就是省事加个ing就能说明很多问题,本章在 ...
- Introduction to Materials Management 学习笔记
搞了两三年AX,越来越困惑. 技术层面可以通过多读代码去解决大多数问题,毕竟AX里的那么多源代码是可以模仿的,加上AX本身是个很不错的开发平台,技术方面可能不需要太多时间就差不多可以应付了. 做AX最 ...
最新文章
- 怎样实现企业管理系统的操作日志功能
- 码上公益首秀,让科技更有温度!
- 为什么写C语言弹不出窗口,居然还有SB说C写不出窗口的..
- python-PyQuery详解
- python while函数_Python:无法在while循环中调用函数
- [转]Spring3 MVC + jQuery easyUI 做的ajax版本用户管理
- Unicode与GB18030、GBK、GB2312
- Java并发编程实战10:线程池
- 将image对象转成BufferedImage
- 2019已经很冷,2020年Android工作或更难找——进大厂面试必备基础技能
- 牛客多校4J二分答案连续子段最大平均值
- MacOS搭建golang开发环境
- Android Clock控件
- Python中calendar,time,datetime模块详情解 -------18
- 微信小程序开发之.js文件
- 关于钜泉光电ATT7053C计量芯片使用的若干经验
- vb For循环例子
- rust睡觉按键没反应_腐蚀Rust实用技巧大全 Rust新手上手指南
- 从一个技术人的炫酷简历,聊聊我公司的技术栈
- CATIA和SOLIDWORKS哪款软件更好学?