当前位置:网站首页>浮点型数据在内存中存储的表示
浮点型数据在内存中存储的表示
2022-08-03 05:24:00 【langaopeng】
实数在内存中以规范化的浮点数存放,包括数符、阶码、尾数。数的精度取决于尾数的尾数。比如32位机上float型为23位(因为规范化数的数码最高位恒为1,不必存储,实际精度为24位,下面会有详解),double型为52位。
单精度float型存储在内存中的大小为4个字节,即32位。
xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx
浮点表示法类似于科学计数法,任一数均可通过改变指数部分,使小数点位置发生移动,如23.45可以写成:2.345*10^1
浮点表示的一般形式为:R=M*2^e (R:Real M:Mantissa尾数 e:exponent阶码)
把上面float的二进制可分成三部分:
x
数符(1b)
double型的浮点数分别是:数符(1b)、阶码(8b)、尾数(52b)
数符sign:real的正负号 "+":0 "-":1
阶码e:这里二进制其实是移码E(0~255)的表示,e=E-127(double型中e=E-1023) e为正值说明这个浮点数向左移动了e位,e为负值说明这个浮点数向右移动了e位。127=2^7-1 1023=2^10-1
尾数M:有效数字位,这里是有效数字位的部分二进制码,为什么说部分呢?仔细看通上下文就可以知道了。
例1:float型浮点数125.5转化成32位二进制浮点数
125.5的二进制码为1111101.1,写成二进制的科学计数为:1.111101*2^6(因为科学计数法“整数”部分大于1,在二进制中,“整数”部分只能恒为1)即向左移6位,则e=6,则E=e+127=133,而E的二进制码为10000101,而1.111101把“整数”部分去除1之后为111101,之后补0,共23b,形成了阶码。
所以125.5的32位二进制浮点数为
0 10000101 11110100000000000000000
例2:float型浮点数0.5转化成32位二进制浮点数
0.5的二进制码为0.1,写成二进制的科学计数为:1.0*2^(-1)即向右移1位,则e=-1,则E=e+127=126,而E的二进制码为01111110,而1.0把“整数”部分去除1之后为0,之后补0,形成了阶码。
所以0.5的32位二进制浮点数为
0 01111110 00000000000000000000000
double型浮点数类似。
例3:32位二进制浮点数为0 10000010 00010000000000000000000转化成十进制数浮点数
题中已给我们分了三部分,数符部分、阶码部分、尾数部分。
数符部分为0,则代表此数为整数;阶码部分为10000010,则E=130,则e=E-127=3,则说明其向左移了3位,0001加上“整数”部分的1之后,为1.0001。则原二进制数为1000.1=十进制8.5,或R=1.0001*2^3=8.5
边栏推荐
猜你喜欢

Router-view

自监督论文阅读笔记Index Your Position: A Novel Self-Supervised Learning Method for Remote Sensing Images Sema

对象の使用

Execute the mysql script file in the docker mysql container and solve the garbled characters

softmax和最大熵

Convolutional Nerual Nertwork(CNN)

用户登录验证程序的实现

边缘辅助无人机网络的分层联邦学习

Playing with Markdown(2) - Extraction and Manipulation of Abstract Syntax Trees

【第二周】卷积神经网络
随机推荐
深度学习基本概念
Browser multi-threaded off-screen rendering, compression and packaging scheme
Hook初探索
【第一周】深度学习和pytorch基础
C# Base64加密
Qemu 搭建Armv8 平台
Mysql 预准备语句详解(prepare、execute、deallocate)
中国食品产业园区行业前景规划建议及投融资模式分析报告2022~2028年
【解读合约审计】Harmony的跨链桥是如何被盗一亿美金的?
详解背包问题(DP分支)
IO 复用
中国认证认可服务行业“十四五”发展规划及经营模式分析报告2022~2028年
自监督论文阅读笔记 Self-Supervised Deep Learning for Vehicle Detection in High-Resolution Satellite Imagery
ARMv8 架构----armv8 类别
【DC-2 Range Penetration】
进程间通讯 (IPC 技术) - 信号
【 Nmap and Metasploit common commands 】
动漫 吞噬星空
中国水产养殖行业市场投资分析及未来风险预测报告2022~2028年
A.1#【内存管理】——1.1.4 node: 初始化