博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
浮点数内存如何存储的
阅读量:5820 次
发布时间:2019-06-18

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

 

类型<?xml:namespace prefix = o />

存储位数

总位数

偏移值

(offset)

数符(S)

阶码(E)

尾数(M)

短实数(float)  

   1 

   8

  23

   32

127

长实数(double)

   1

   11

  52

   64

1023

 

N (10) = 123.456,

换算成二进制表示:

N (2) = 1111011. 01110100101111001

= 1. 11101101110100101111001(...) * 2^6

   那么E – 127 = 6;  E = 127 + 6 = 133(10) = 10000101(2)

M = 111 0110 1110 1001 0111 1001 (省略了最高数字位1, 23bit)

   组合起来就是:

S          E                        M

0        10000101      111 0110 1110 1001 0111 1001

================================================

   4bit一间隔:

0100   0010   1111   0110   1110   1001   0111   1001

4          2          F           6         E           9          7        9

=====================================================

====================================================

补充:

十进制小数转二进制

如:0.625=(0.101)B

0.625*2=1.25======取出整数部分1

0.25*2=0.5========取出整数分0

0.5*2=1==========取出整数部分1

再如:0.7=(0.1 0110 0110...)B

0.7*2=1.4========取出整数部分1

0.4*2=0.8========取出整数部分0

0.8*2=1.6========取出整数部分1

0.6*2=1.2========取出整数部分1

0.2*2=0.4========取出整数部分0

0.4*2=0.8========取出整数部分0

0.8*2=1.6========取出整数部分1

0.6*2=1.2========取出整数部分1

0.2*2=0.4========取出整数部分0

转载于:https://www.cnblogs.com/ikaka/p/3349211.html

你可能感兴趣的文章
对象与字符串相互转换
查看>>
[NOIp2017提高组]小凯的疑惑
查看>>
《C程序设计语言》练习1-5
查看>>
$\frac{dy}{dx}$ 是什么意思?
查看>>
Go开发之路(目录)
查看>>
RHEL6.5安装成功ORACLE11GR2之后,编写PROC程序出错解决方法
查看>>
(50)与magento集成
查看>>
Ubuntu设置python3为默认版本
查看>>
日期Calendar/Date的用法
查看>>
JsonCpp 的使用
查看>>
问题账户需求分析
查看>>
JavaSE-代码块
查看>>
爬取所有校园新闻
查看>>
32、SpringBoot-整合Dubbo
查看>>
python面向对象基础
查看>>
HDU 2044 一只小蜜蜂(递归)
查看>>
docker 下 安装rancher 笔记
查看>>
spring两大核心对象IOC和AOP(新手理解)
查看>>
数据分析相关
查看>>
Python LDAP中的时间戳转换为Linux下时间
查看>>