程序中,浮点型存储
来源:互联网 发布:部落冲突三王升级数据 编辑:程序博客网 时间:2024/05/22 09:04
根据IEEE754标准
只列举float类型单精度的问题,float以32位存储。
如,十进制数0.5,二进制表示为0.1,( =2^(-1) ),浮点数中以32位存储,存储格式为,0 01111110 00000000000000000000000 (符号位1位,指数位8位,尾数位23位)
其中:
0 01111110 00000000000000000000000
符号位(s) 指数(e) 尾数(0.m)
浮点型的表示都是1.XXXXXX×2^(n),所以尾数的存储自动省略第一位的1,
因此((-1)^s)*(1+0.m)*2^(e-127) // 解释127的来源,127=2^7-1
代入可得,s=0,e=126,m=0
((-1)^0)*(1+0)*2^(126-127) =2^(-1)=1.0*2(-1)= 0.1 = 0.5;
二进制 二进制 十进制
再一例,十进制数7.625,二进制数111.101,浮点数存储格式为,0 10000001 11101000000000000000000
代入可得,s=0,e=129,m=11101,0.m=0.11101
((-1)^0)*(1+0.11101)*2^(129-127) =1.11101*2^(2) =111 .101 = 7.625;
二进制 十进制
如下程序为输入一个数,得到float的存储格式
#include<iostream>
void main()
{
//exe2();
float a;
std::cin>> a;
int num = *(int*)&a;
for (int i = 0; i < 32; i++)
{
if ((int)num&(1 << (31 - i)))
std::cout << 1;
else
std::cout << 0;
}
}
第一次写博客,请各位批评指正。
- 程序中,浮点型存储
- 程序中存储和处理精确浮点数
- 浮点型数据在计算机中存储
- 内存中整型,浮点型的存储
- 整数、浮点型在内存中存储
- 浮点型的存储
- 计算机中浮点数存储
- 浮点型数据在内存中存储的表示
- 浮点型数据在内存中存储的表示[转载]
- 浮点型数据在内存中存储的表示
- 浮点型数据在内存中存储的表示
- C语言中整型浮点型在计算机中的存储
- 浮点型数据在内存中存储的表示[转载]
- C语言中浮点型在计算机中的存储
- 浮点型数据在内存中存储的表示
- 浮点型数据在计算机内存中存储原理
- 整型和浮点型在内存中存储方式
- 一个小程序笔记-java中浮点型细节
- 深拷贝实例(一个类中包含另一个类的对象)
- 吾爱破解crackme 065-070
- jsp自定义标签接口-SimpleTag
- Kotlin语言学习之使用object和companion object修饰静态类和静态方法
- iOS 环信打包
- 程序中,浮点型存储
- IDEA将Mavn项目发布到自己的私服仓库
- vue2.x实例生命周期
- 数乌龟
- bzoj 1085(A*)
- DataTable 初识
- 判断一棵二叉树是否是平衡二叉树/求一颗二叉树的镜像
- NTP服务器搭建与测试
- 欢迎使用CSDN-markdown编辑器