序言
前段时间看到couresa上面有南京大学袁春风老师的操作系统课程,于是复习了一下操作系统相关知识,打算把不容易理解的点记录一下以便以后的温习回顾
- 定点数和浮点数概念
首先介绍下最初不容易理解的误区就是理解字面意思,有种错觉是浮点数就是带小数点的数。这是新手容易误解的地方,定点数和浮点数的关键点在于小数点的位置下面介绍概念。
定点数—一个数小数点的位置不会改变也就是是固定的数,比如现实生活中十进制的数字12.34,这样表示的四位数小数点是在有效位的第二位后面,这种就是定点小数,小数点在固定位置。十进制表示的1234则是小数点在最后一位的后面,这种是定点整数。0.1234这种小数点在有效位之前的是定点纯小数。
定点数运算—如果是定点整数运算,2*3类似这种,在计算机中是容易计算的。但是在进制运算中比较麻烦的是定点小数的运算。比如12.34乘以5.6在进制运算中是非常麻烦的,因为计算机无法记录一个小数的小数点的位置。为了解决这个问题就出现了浮点数计数法。
浮点数—任何现实世界中的实数都可以用一种公式表示 X = (-1)^s MR^e ,-1的s次方是s决定正负,M是一个二进制定点小数是实数X的尾数部分。e是一个二进制的定点整数,是X的指数。R是基数,可以是2、4和16等。计算机中只要确定s、m、e就可以确定X的值,这就是浮点数,类似于十进制中的科学表示法。比如十进制中的-5.0 转成二进制表示的话 -101.0,用上述公式转化即为 (-1)^1乘1.01乘2^2 。
浮点数运算 关于浮点数的运算举例来讲,相当于十进制中1.235.6转化为 12310^-2乘以5610^-1。先计算12356,再计算10^-2 * 10^-1。如果这个例子能明白的话,浮点数的计算方式也大概清楚怎么回事了。所以浮点数的计算解决了定点小数运算时关于小数点位置无法被记录的问题。而浮点数的运算部位又可以用定点数代替,所以计算机中所有的运算都可以用浮点数解决。 - 上述内容部分知识出自《深入理解计算机系统》和 www.couresa.org 。
今天的文章操作系统之定点数和浮点数分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/11625.html