博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
操作系统之定点数和浮点数
阅读量:6427 次
发布时间:2019-06-23

本文共 878 字,大约阅读时间需要 2 分钟。

序言

前段时间看到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 。

转载地址:http://sbfga.baihongyu.com/

你可能感兴趣的文章
大整数比较大小
查看>>
C++ 指定路径文件夹存在与否查询及文件夹创建
查看>>
css常用左右布局方案整理
查看>>
八大排序算法的Java实现
查看>>
IDEA+Maven+Tomcat构建项目流程
查看>>
java 线程机制
查看>>
数据是重要的战略资源,数据同样是产品非常重要的组成部分。淘宝对中国最大的贡献,不只是方便了老百姓购物,而是把中国消费者的消费习惯数据慢慢沉淀下来。...
查看>>
Leetcode Find Minimum in Rotated Sorted Array
查看>>
Python接口测试-使用requests模块发送post请求
查看>>
System.currentTimeMillis()计算方式与时间的单位转换
查看>>
Extra:Variable Types
查看>>
js传参时,没有参数传入,默认值的设置
查看>>
创建MVC3项目出现错误—NuGet Package Manager is missing or out of date.
查看>>
ASP.NET温故而知新学习系列之ASP.NET多线程编程—.NET下的多线程编程Thread中委托的使用(六)...
查看>>
Django完整的登录示例,APP,ORM介绍和使用
查看>>
使用 Spring HATEOAS 开发 REST 服务
查看>>
最新整理知识结构图
查看>>
linux安装mysql
查看>>
flask 2 进阶
查看>>
JS 循环遍历JSON数据
查看>>