关于多字节数据类型在内存中的存储问题

int ,short 各自是4、2字节。他们在内存中的存储方式以下举个样例说明。

int data = 0xf4f3f2f1;
当中低位存放在编址小的内存单元,高位存放在编址高的内存单元
例如以下:
地址:0x8000      0x8001    0x8002   0x8003
数据:   f1              f2            f3          f4

//上面是小端模式,还有大端存储模式
//
 
//
依据IEEE在1985年制定的标准来处理浮点数
单精度浮点数用4字节,包含1位符号位s(整数为0,负数为1),8位指数位e。23位有效位f
浮点型使用的是科学计数法,比方十进制的12345能够表示为1.2345 * 10^4(表示10的4次幂)
用二进制表示为 1.1000000111001 * 2^13
所以计算机中用浮点数表示12345这个十进制应该是这种,s位为0,由于是正数。指数位为13+127=140(127为单精度浮点数偏移值,为了表示仅仅有小数部分的数)。有效位为1000000111001
计算的时候用 (-1)^s * 1.f * 2^(e-127) ,结果就是 1* 1.1000000111001 * 2^(140-127=13) 。和我们刚才表示的一样
还比方,十进制小数0.125转换为二进制小数0.001能够表示为 1* 1.0 * 2^(124-127=-3)
double,双精度浮点数有1位符号位、11位指数位和52位有效数

知道公式
n=(-1)^s*m*2^e
e=|E|-bias
bias = 2^(k-1)-1(k为E的位数)
m=|1.M|

知道12345在内存中的10进制表示以后
0x4640e400 = 0(100 0110 0)<100 0000 1110 0100 0000>
括号里的数字为|E| = 140 所以e=140-127=13
尖括号里的数字为m=|1.M|=|1.100000011100100|=1.506958008
ok,
代入公式n = (-1)^0*1.506958008*2^13=12345

转载于:https://www.cnblogs.com/liguangsunls/p/7040310.html

C语言中浮点数在内存中的存储方式相关推荐

  1. 转载--C语言:浮点数在内存中的表示

    单精度浮点数: 1位符号位   8位阶码位   23位尾数 双精度浮点数: 1位符号位   8位阶码位   52位尾数 实数在内存中以规范化的浮点数存放,包括数符.阶码.尾数.数的精度取决于尾数的位数 ...

  2. 【C语言进阶】③探究浮点数在内存中的存储方式

    文章目录 一.例题 二.浮点数在内存中存储方式 2.1国际标准IEEE(电气和电子工程协会)754规定: 2.2实际上,浮点数在内存的存储形式为: 2.3具体M和E是怎么算的呢? 三.题解 3.1刚开 ...

  3. 浮点数在内存中的表示

    2011年4月9日10:09:19 c语言中的浮点数在内存中的表示(VC++编译器中): char:1个字节 short:2个字节 int:4字节 long:4字节 float:4字节(单精度) do ...

  4. c语言字母是怎么存储,C语言之数据在内存中的存储

    C语言之数据在内存中的存储 在我们学习此之前,我们先来回忆一下C语言中都有哪些数据类型呢? 首先我们来看看C语言中的基本的内置类型: char //字符数据类型 short //短整型 int //整 ...

  5. C语言中数据在内存中的存储

    要想了解数据在内存中的存储的话,首先应该了解数据的类型. 下面介绍C语言中数据类型: 1.C语言中的基本内置类型: char //字符数据类型 大小为1个字节 short //短整型 大小为2个字节 ...

  6. C/C++浮点数在内存中的存储方式

    任何数据在内存中都是以二进制的形式存储的,例如一个short型数据1156,其二进制表示形式为00000100 10000100.则在Intel CPU架构的系统中,存放方式为  10000100(低 ...

  7. C/C++浮点数在内存中的存储方式《转》

    那天有人在汇编群里有人问了一个 #include <iostream> #include <stdio.h> using namespace std; int main() { ...

  8. IEEE754标准: 浮点数在内存中的存储方式

    一. 什么是IEEE754标准 我们知道, 计算机内部实际上只能存储或识别二进制. 在计算机中, 我们日常所使用的文档, 图片, 数字等, 在储存时, 实际上都要以二进制的形式存放在内存或硬盘中, 内 ...

  9. 浮点数在内存中的存储

    我们已经介绍过整数在内存中的存储方式,那浮点数在内存中是怎样存储的呢? 先看一段代码: #include<stdio.h>int main() {int n = 9;float* pFlo ...

  10. 浮点数在内存中的存储——“C”

    各位CSDN的uu们你们好呀,今天,小雅兰的内容是浮点数在内存中的存储,昨天我们已经写过了整型在内存中的存储,那么,浮点数在内存中是怎样存储的呢?现在,就让我们进入浮点数在内存中的存储的世界吧 常见的 ...

最新文章

  1. JAVA中字符串比较equals()和equalsIgnoreCase()的区别
  2. Navicat12及以上才能显示json数据
  3. ofstream清空文件内容_回收站被删除的文件怎么恢复 回收站清空了怎么恢复
  4. 固定背景图的高度,让宽度自适应
  5. 【三维路径规划】基于matlab A_star算法无人机三维路径规划【含Matlab源码 446期】
  6. Flink窗口-时间窗口
  7. 大数据培训(第一季) java基础-徐培成-专题视频课程
  8. 客户价值分析:RFM聚类分析原理
  9. Java 文件上传同时携带参数
  10. matlab simulink电感,一文教你快速学会在matlab的simulink中调用C语言进行仿真
  11. 396万奖金池!视觉特征编码、AI+无线通信两大赛道等你来战!助力元宇宙!
  12. 洛谷——P1348 Couple number(java实现)
  13. 一个普通码农的Linux之路
  14. java查询日期类的表,JAVA菜鸟入门篇 - 时间处理相关类实例:打印该月日期表 (29)...
  15. CSS3属性之text-overflow:ellipsis详解
  16. netty报Unknown channel option ‘TCP_NODELAY‘ for channel异常
  17. 云宇宙与云计算之间的关系,云服务器
  18. Squeeze-and-Excitation Networks论文翻译——中英文对照
  19. shopify修改导航
  20. 华中科技大学计算机学院领导,冯丹:华中科技大学计算机学院院长

热门文章

  1. PAT之算法/技巧:01背包
  2. lj245a引脚功能图_干货|教你如何看懂单片机时序图
  3. 百度搜索(URL)中汉字转为什么编码问题
  4. java技术架构选型方案报告.pdf,来啦,2020开源报告!
  5. android程序设计背景,android – 以可编程方式设置drawable作为背景
  6. java xml 空节点_java:利用xpath删除xml中的空节点
  7. 翻译:swift 5通过使用泛型进行高级异步操作Operation
  8. 翻译:Vim从入门到精通 Mac OS
  9. 如何设计实现一个证书加密签名工具包-极客大学架构师训练营(架构师 黄燧)
  10. 算法:回溯三 Combination Sum组合总数