按照IEEE754标准,浮点数的格式为,从最高位开始一次是:
数符S,阶码E,尾数M;数符是指这个数是正的,还是负的;
在计算机中一个任意进制数N可以写成:N=R的e次方 乘以m;R就是基数(在电脑中基数当然是2),e就是

阶码,m就是尾数

32为浮点数中,
S是浮点数的符号位,占一位,安排在最高位,S=0表示正数,S=1表示负数;
E是阶码,占用8位,阶符采用隐含方式,即采用移码来表示正负指数,采用这种方式时,将浮点数的指数

真值e变成阶码E时,应将指数e加上一个固定的偏移值127(01111111),即E=e+127;
M是尾数,占用23位,用小数表示,小数点放在尾数域的最前面,其实小数点前面还有一位1,只不过这个

1是不用写出来的,例如1.101001的尾数是101001,即M=101001,而小数点前面的1是规定不写的,这样做

只是为了扩大数的范围
例如32位的浮点数18.75 的二进制形式是:10010.11,
用IEEE754标准表示方法如下,
把小数点移动e位,使小数点左边只有一位有效数字1,这样e就是这个数的阶码的真值;对于这个数,把

小数点向左移4位,变成了1.001011,e=4,即真值阶码为4,则阶码E=e+127,用二进制表示为10000011,

E=10000011就是18.75这个数的阶码。这个数为正,因此数符位为0,18.75在计算机内的表示为
0 10000011 0010110 00000000 00000000
这样-18.75在计算中的表示为  1 10000011 0010110 00000000 00000000

下边这个程序在TC2.0下编译通过,作用是用二进制的形式输出一个浮点数在计算机的表示形式,在计算

机中高字节占据高地址,这里我取float f=-18.75输出的结果是1 10000011 0010110 00000000 00000000
你可以把它改为18.75输出看看结果

#include<stdio.h>

void outBinary(unsigned char ch);

int main(void)
{
    float f=-18.75;
    unsigned char *p,ch;
    int i;
    p=(unsigned char *)(&f);

clrscr();
    i=sizeof(f);
    printf("/nsizeof(float)= %d/n/n",i);
    for(i=sizeof(f)-1;i>=0;i--)
    {
        ch=*(p+i);
        outBinary(ch);
        putchar(' ');
    }
    return 0;
}

void outBinary(unsigned char ch)
{
    int i;
    for(i=0;i<8;i++)
    {
        if( (ch<<i) & 0x80) putchar('1');
        else putchar('0');
    }
}

对于64位浮点数(double)也是一样,只不过阶符用12位表示,其他的都一样

C/C++浮点数格式——IEEE754标准相关推荐

  1. IEEE754标准表示浮点数(详解)

    目录 1.IEEE754标准格式 2.IEEE754标准中的符号码 3.IEEE754标准中的阶码 4.IEEE754标准中的尾数 5.IEEE754标准的真值计算 6.十进制转化成IEEE754标准 ...

  2. IEEE-754标准(32位) 十六进制转换十进制浮点数

    因实验需要,读取陀螺仪的数据是16进制的数据,需要将该数据转化为10进制方便自己查看,理解.记录如下: 1.将(32位)16进制IEEE-754标准浮点数就是用十六进制表示浮点,称为单精度浮点数. f ...

  3. 2.3 《计算机组成原理》之浮点数的表示(基本格式、规格化[左规右规]、表示范围、IEEE754标准详解)

    文章目录 0.思维导图 1.基本格式 2.规格化 3.表示范围 4.IEEE754标准 0.思维导图 1.基本格式 举个例子: 2.规格化 3.表示范围 运算结果大于最大正数时称为正上溢,小于绝对值最 ...

  4. ieee754最小规格化正数C语言,IEEE754标准浮点格式

    两种基本浮点格式:单精度和双精度.IEEE单精度格式具有24位有效数字,并总共占用32 位.IEEE双精度格式具有53位有效数字精度,并总共占用64位 两种扩展浮点格式:单精度扩展和双精度扩展.此标准 ...

  5. IEEE-754标准与浮点数运算

    序言 本文主要简述了计算机中数字的表示方式,以及IEEE-754标准的由来及具体规定,最后简单的叙述了浮点数的运算规则.阅读这篇文章之前,最好有关于有关于机器数中的原码.反码.补码三种形式的一些概念. ...

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

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

  7. IEEE754浮点数格式详解

    IEEE754浮点数格式详解 几乎所有计算机都支持二进制数据表示,即能直接识别二进制数据表示并具有相应的指令系统.通常采用的二进制定点数据表示主要有:符号数值.反码.补码以及带偏移增值码四种形式,其中 ...

  8. IEEE754标准:二进位浮点数算术标准

    IEEE754标准:二进位浮点数算术标准

  9. IEEE754标准浮点数转换

    IEEE754标准是一种浮点数表示标准,一般分为单.双精度两种,单精度是32位的二进制数,双精度是64位的二进制数,一个浮点数的组成分为三个部分 ①第1位是数符s,s=1表示负数,s=0表示正数. ② ...

最新文章

  1. 数据库管理系统的组成和结构
  2. 89600 matlab,是德KEYSIGHT N9000B CXA 信号分析仪,多点触控,9 kHz 至 26.5 GHz
  3. 史上最难10道Java面试题!
  4. 巧用 maxTimeMS 服务端超时,避免承载亿级用户的腾讯云数据库MongoDB服务雪崩
  5. 22、多进程和多线程
  6. python asyncio 并发编程_asyncio并发编程
  7. Maven工作笔记-jar包打入本地仓库并打包
  8. 快速web app之道
  9. 深度学习简明教程系列 —— 经典模型(合集)
  10. java生成wsdl文件_webservice之通过wsdl文件生成客户端
  11. BIOS入口地址:FFFF:0000是指什么意思?在物理上是指内存条的什么位置?
  12. Linux命令行如何编辑word文档,在Linux平台下用命令行工具显示Word文档
  13. 逆天!看看现在可以买到的13款机器人有多厉害! | 关注
  14. 成功与失败——《异类》读后感
  15. 软工网络15个人阅读作业2(201521123007谭燕)
  16. C/C++基本数据类型大小
  17. linux DNS jnl ixfr axfr 小解
  18. deepin系统TeamViewer网络无法连接解决方法
  19. 第五章--第八章 因果图 正交试验表 状态转移 流程分析
  20. 微信第三方平台服务器端收不到微信推送的component_verify_ticket请求

热门文章

  1. 元宇宙vs. 数字孪生:技术演化的视角
  2. asyncio系列之sleep()实现
  3. 小恋人,我们能否用心“爱”一次,再不疯狂我们就老了!
  4. 月薪9.5K,转行5G网络优化工程师—分享优橙小故事
  5. osg编译方法(CMake_gui的使用)
  6. 使用Hbuilder打包前端网站为WebApp(Android,ios应用)
  7. 总结——无人机应用相关的管理平台
  8. 对未来的自己说一些悄悄话
  9. Q1营收净利双双超预期 为何转型中的陆金所驱动力不足?
  10. 用哪种字体写博客比较好尼?