小数点如何用计算机二进制表示,计算机二进制小数点表示法
例如:178.125
(1)先把浮点数分别把整数部分和小数部分转换成2进制
整数部分用除2取余的方法,求得:10110010
小数部分用乘2取整的方法,求得:001
合起来即是:10110010.001
(2)转换成二进制的浮点数,即把小数点移动到整数位只有1,即为:1.0110010001 * 2^111,111是二进制,由于左移了7位,所以是111
把浮点数转换二进制后,这里基本已经可以得出对应3部分的值了
(3)数符:由于浮点数是正数,故为0.(负数为1)
阶码 : 阶码的计算公式:阶数 + 偏移量, 阶码是需要作移码运算,在转换出来的二进制数里,阶数是111(十进制为7),对于单精度的浮点数,偏移值为01111111(127)[偏移量的计算是:2^(e-1)-1, e为阶码的位数,即为8,因此偏移值是127],即:111+01111111 = 10000110
尾数:小数点后面的数,即0110010001
小数点前面的1去哪里了?由于尾数部分是规格化表示的,最高位总是“1”,所以这是直接隐藏掉,同时也节省了1个位出来存储小数,提高精度
现代计算机中,一般都以IEEE 754标准存储浮点数
对于不同长度的浮点数,阶码与小数位分配的数量不一样
对于32位的单精度浮点数,数符分配是1位,阶码分配了8位,尾数分配了是23位。
对于64位的单精度浮点数,数符分配是1位,阶码分配了11位,尾数分配了是52位。
WHE STE.png
一、十进制小数转二进制小数
0.125
用乘2取整 顺序排列 的方法,求得:0.001
0.125 *2 = 0.25======取出整数部分0
0.25 * 2 = 0.5======取出整数部分0
0.5 * 2 = 1======取出整数部分1
二、二进制小数转十进制小数
0.001 = 1 * 2^(-3) = 0.125
0.1101 = 1 * 2^(-1) + 1 * 2^(-2) + 1 * 2^(-4) = 0.5 + 0.25 + 0.0625 = 0.8125
十进制小数转二进制,在计算机中如何存储?
比如178.125
(1)先把浮点数分别把整数部分和小数部分转换成2进制
178 / 2 = 89 ======余数0
89 / 2 = 44 ======余数1
44 / 2 = 22 ======余数0
22 / 2 = 11 ======余数0
11 / 2 = 5 ======余数1
5 / 2 = 2 ======余数1
2 / 2 = 1 ======余数0
1 / 2 = 0 ======余数1
整数部分用除2取余 逆序排列的方法,求得:10110010
小数部分用乘2取整的方法,求得:001
合起来即是:10110010.001
(2)转换成二进制的浮点数,即把小数点移动到整数位只有1,即为:1.0110010001 * 2^111,111是二进制,由于左移了7位,所以是111
把浮点数转换二进制后,这里基本已经可以得出对应3部分的值了
(3)数符:由于浮点数是正数,故为0.(负数为1)
阶码 : 阶码的计算公式:阶数 + 偏移量, 阶码是需要作移码运算,在转换出来的二进制数里,阶数是111(十进制为7),对于单精度的浮点数,偏移值为01111111(127)[偏移量的计算是:2^(e-1)-1, e为阶码的位数,即为8,因此偏移值是127],即:111+01111111 = 10000110
尾数:小数点后面的数,即0110010001
小数点前面的1去哪里了?由于尾数部分是规格化表示的,最高位总是“1”,所以这是直接隐藏掉,同时也节省了1个位出来存储小数,提高精度
所以在计算机中存储为 0 10000110 0110010001
如何根据结果反推?
10000110 - 01111111 = 111 (之前左移的现在右移7位)
尾数加1为1.0110010001 右移7位 10110010.001 = 10110010 + 0.001 = 178 + 0.125 = 178.25
补充:
如果是0.15625 转化二进制为0.00101,要右移3位为1.01,所以阶数-3
偏移量 = -3 + 127 = 124,二进制为0111 1100,
1.01尾数为01
所以二进制存储 0 01111100 01 后边还有21位0
#HIS44.png
小数点如何用计算机二进制表示,计算机二进制小数点表示法相关推荐
- C++语言篇 第一章 二进制及计算机基础
前言 进入新世纪以来,新科技.新技术日新月异,层出不穷:人工智能.机器人.无人驾驶.虚拟现实,量子信息.生物技术.大数据.3D打印.石墨烯.纳米材料.数字货币.区块链.物联网.互联网+.工业4.0-- ...
- 二进制在线计算机,计算机进制转换计算
<计算机进制转换计算>由会员分享,可在线阅读,更多相关<计算机进制转换计算(8页珍藏版)>请在人人文库网上搜索. 1.各种进制转换一.进制的概念在计算机语言中常用的进制有二进制 ...
- 计算机中十进制转二进制逻辑原理,.计算机中为什么要采用二进制?及二进制的基本运算规则,还有.二进制数据与十进制、八进制、十六进制数据之间的转换方法?...
满意答案 sqq212527 2013.04.11 采纳率:46% 等级:12 已帮助:10556人 编辑本段简介 20世纪被称作第三次科技革命的重要标志之一的计算机的发明与应用,其运算模式正是 ...
- 计算机 二进制 中国,二进制与计算机
二进制与计算机事物的多少或者顺序,我们可以用一种称为"数"的符号来表示.事物的数量是无穷的,我们却不可能创造无数个符号.为了解决这个难题,人们创造了进位制(又叫做位值制),这样就可 ...
- 计算机与十进制 教案,二进制与十进制间的转换教案
十进制与二进制间的转换 [教学目的与要求] 1.熟悉数制的概念:2.掌握位权表示法: 3.熟练掌握各数制之间的转换方法. [课时安排] 1课时. [教学重点与难点] 1.难点:位权表示法 十进制转化为 ...
- 计算机基础- -计算机为什么要使用二进制
计算机基础- -计算机为什么要使用二进制 文章目录 计算机基础- -计算机为什么要使用二进制 一.为什么用二进制表示 二.什么是二进制数 三.移位运算和乘除的关系 四.便于计算机处理的补数 五.算数右 ...
- 科学计算机二进制算法,计算机是怎么理解二进制的?
计算机是怎么理解二进制的? 计算机的发明最初纯粹是为了计算数字, 让一个机器能够通过输入不同的数字, 进行加减乘除等. 首先要约定好机器能处理的数是什么样的, 即输入是什么样的, 才能去制造计算机. ...
- bash 将二进制转换为十进制_6、计算机进制之二进制、十进制、十六进制之间的转换...
1.计算机的数制介绍 数制:计数的方法,指用一组固定的符号和统一的规则来表示数值的方法 数位:指数字符号在一个数中所处的位置 基数:指在某种进位计数制中,数位上所能使用的数字符号的个数 位权:指在某种 ...
- 计算机二进制怎么转化成十六进制数是,6、计算机进制之二进制、十进制、十六进制之间的转换...
1.计算机的数制介绍 数制:计数的方法,指用一组固定的符号和统一的规则来表示数值的方法 数位:指数字符号在一个数中所处的位置 基数:指在某种进位计数制中,数位上所能使用的数字符号的个数 位权:指在某种 ...
- 计算机由简单的二进制阴阳,二进制之美,大道至简,二生万物!
我国是一个文明古国,虽然计算机发展技术是由西方国家发展起来的,但并不影响我国上下五千年的文明史,说二进制是有西方国家发明的,我觉得这倒是不完全正确,我国最早中医中都有阴与阳的概念,同样计算机领域中的二 ...
最新文章
- 海思Hi3559A平台移植 opencv4.0.0
- java arraylist的初始化和数组的相互转化
- mysql导入数据库某张表_MSSQLServer2005 导出导入数据库中某张表的数据
- php二维数组 xml,xml 怎样通过php解析到二维数组里面
- 生产者消费者之阻塞队列版本
- C/C++编译器教程之如何安装vs,看了的人应该都会装,只要不手残
- WEBSOCKET协议判断 握手及反馈
- DotNetCore中异步编程的实用演练
- 对Kernel panic-not syncing:No init found...init=option to kernel错误总结!
- 洛谷P4135 作诗 --分块基础
- Android studio 如何快速收起代码?
- 常用数据手册(Datasheet)下载网站
- V20变频器手自动切换(就地远程切换)的具体方法示例
- jquery短信验证码倒计时
- 刘邦六大用人之道,很值得管理人员学习
- python-pptx替换ppt模板的文本
- strapi终于装好了,网速太慢了,处理了一下代理,新建了一个.zshrc文件,加入了pon和poff两个函数
- 机房动环监控系统方案组成及应用
- 互斥锁(mutex)的使用
- 现代控制理论6——能控、能观及其对偶原理、线性变换、结构分解
热门文章
- 【C语言初学】编写程序求e的值
- 基于Rasa框架搭建中文机器人对话系统
- 《啊哈算法》第四章 万能的搜索
- 怎么查看qq登陆记录
- 测试面试挫败_清晰度,初级工程师,要求和挫败感
- VMware虚拟机扩容——Ubuntu的/dev/sda1分区挂在根目录(“/“)下用LVM(逻辑卷管理)模式扩容无效
- 决策树(Decision Tree)算法 python简单实现
- MATLAB读二进制文件
- HCI - ImageJ软件的简介
- android离线语音开发,Android应用开发之Android 云之声离线语音合成