操作系统之定点数和浮点数

序言

前段时间看到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 。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值