浮点数(float及double)的本质及其在计算机中的存储
来源:互联网 发布:win764位精简优化版 编辑:程序博客网 时间:2024/06/04 17:49
float和double在存储方式上都是符合IEEE的规范的
下面先说float(double与之类似)
float型数据共有且只有4个字节,即32位
从左到右共分为三个部分:
1.第1位为符号位(1位)
2.从第2位到第9位为指数位(8位)
3.从第10位到第32位为尾数位(23位)
float的表示方法类似于科学计数法
尾数为1+小数,由于1为固定,所以实际存储中,尾数部分只存储数据的小数,1不再存储。
由于尾数只有8位,所以能表示精度最小单位是2的(-23)次方,为0.00000011920928955078125,所以能其精度只有6位(即它能完全表示到的小数位数)
下面介绍如何把float数据转换成实际计算机中的二进制存储:
1.符号位,正则0,负则1
2.把十进制数转化为二进制(这个都会吧)
左右移动二进制数据,直到其整数部分只有1.
.移动的位数即为其指数位(左移为负,右移为正)
指数部分需要+127转化为补码存储
3.小数部分即为尾数部分,
把1,2,3加起来即得到该float数据的计算机存储
下面举具体例子来说明:
float数据:3.5
3.5转化为二进制,整数部分3转化为二进制:11,小数部分转化成二进制:1,即3.5对应二进制:11.1
符号位:0
右移1位变成1.11,
指数是1,1+127为128,二进制就是,10 00 00 00
尾数是:11(”.”后面的即是)
合在一起就是
0 10000000 110000000000000000000000
上面即为3.5的计算机实际存储
double类型类似
0 0
- 浮点数(float及double)的本质及其在计算机中的存储
- 浮点数在计算机中存储方式float,double)---转
- float,double浮点数的二进制存储方式及转换
- 浮点数据(float/double)在计算机上的存储方式
- 浮点数float是如何在计算机里存储的?
- 浮点数在计算机中的存储
- 浮点数在计算机中的存储方式
- 浮点数在计算机中的存储
- 浮点数在计算机中的存储方式
- 浮点数在计算机中的存储形式
- float和double数据在计算机中的存储方式
- 浮点数在计算机中的存储方式(转)
- 数据在计算机中的存储(字节序,浮点数)
- 如何处理浮点数(float, double)的精度问题
- 浮点数float和double的精度
- float和double在计算机存储解析
- float浮点数的二进制存储方式及转换
- float浮点数的二进制存储方式及转换
- 中软第一天
- 高通平台ondemand调频
- 【数据结构】-线性表-顺序表-1323: 算法2-1:集合union
- 分布式系统唯一ID生成方案汇总
- 第十二章 Active Object
- 浮点数(float及double)的本质及其在计算机中的存储
- 【Android】RxJava的入门使用系列教程
- Linux/Unix 中常用的磁带管理命令有哪些?
- 给 Android 开发者的 RxJava 详解
- 关于npm的使用注意事项
- Android Design Support Library - TabLayout的用法
- 关于泛型的一些问题
- <xliff:g>标签介绍:
- Qt QWidget实现手势缩放和平移(二)