一 . 浮点型的存储

在十进制中我们都学习过科学计数法,比如31.4可以用科学计数法表示就是3.14*10^1。浮点型同样是采取科学计数法进行表示的。在计算机中,以二进制数存储,如1011.10用科学计数法的方式可以写成1.01110*2^3,因为浮点型还有负数,所以在计算机中表示时还需要加上一个符号位,这样我们就可以总结出一般的浮点型数据的表示形式:(-1)^S*M*2^E。

其中,(-1)^S是符号位。 M是尾数位,即上例中的1.01110,E是指数位,这样我们把一个浮点型的存储单元分成三部分。又浮点型在计算机中是4个字节,一个32个bit位,设计者把这32个bit位分为1,8,23,的形式,其中1位最高位是符号位,8位是指数位,23位是尾数位。

(1)符号位

最高一位符号位, 实际上就是用0正1负表示。

(2)尾数位

又我们知道任何一个二进制小数都可以写成是1.xxx*2^E,所以M的值一个是大于1且小于2的,这样我们就默认的省去了最前面的1,这样M省出一个位,可以表示的范围更大。所以M中存储的实际是0.xxx中的xxx的部分,如上例中的1.01110*2^3,M的中存储的实际是01110。此处还应该注意的是,在M中存储01110的时候是靠前存储的,即23个位表示为0111 0000 0000 0000 0000 000。为什么要这样表示呢,这是因为如果01110靠后存储的时候没办法确定有1的前面应该读取几个0。再举一例,如1.000000010111*2^3的时候,M的值应该是0000 0001 0111,在23中如果靠前存储是0000 0001 0111 0000 0000 000,这样我们很容易读取0000 0001 0111,并且如果后面多取0时,所表示的值的大小并不改变。而如果是靠后存储时,则是0000 0000 0000 0000 0010 111,这样我们就无法知道1的前面应该取几个0。

(3)指数位

E是指数位,E的计算机中是无符号整数,它的取值范围是0---255,但是这和我们的现实生活中又不一样了,我们知道在实际生活中,E可以是正数也可以是负数,那么计算机如何表示这个负数呢。设计者在设计的时候,让指数的实际值加上127之后再转化成二进制数进行存储,有同学不就会疑惑,这样它的不就增大了,那它就与实际值不符啊。这里在读取的时候又做了另一步操作,就是把E(二进制数)转化成十进制后,再减去127这样就还原成原来的样子了。这样处理之后,E的实际表示的范围就是-127---128。补充说明,如果E为全0,则实际表示的是-127,这样这个数很很小,几乎接近于0,计算机就默认把它当成了0,进行表示。

二 . 浮点型的读取

用%f去读取一个数据时,首先将其划分成1,8,23的形式,先读取符号位,0正1负。接着读取指数位E,将得到的8bit的二进制数,转化成十进制后再减去127。最后读取尾数位,从前读取的值当成是小数点后面的数字,默认小数点前面有一个1,这样就把浮点型数据读取出来了。如1 1011 1000 0110  0000 0000 0000 0000 000,从前面取以为1,则表示负;接着取后八位1011 1000指数位,将其转化成十进制数是184再将其减去127得57;再读取后面的23个位,得011,那么它的M就是011,在前面加上默认的1,那么这个尾数就是1.011,。所以这个浮点数就是-1.011*2^57。

C语言中浮点型在计算机中的存储相关推荐

  1. C语言中整型浮点型在计算机中的存储

    第一次写博客,遣词造句有点菜,算是一次简单梳理,慢慢学习人家的博客风格,随着学习的深入再做修改. 本次学习的是C语言在VS下的编译调试,对于初学者两说,首先说一下如何监控变量,以及监控变量在内存中的存 ...

  2. c语言的运用,解析计算机中C语言的运用

    摘 要:随着我国计算机水平的不断提升和计算机程序设计的持续完善,在计算机程序设计过程中C语言得到了越来越广泛的应用.本文从对C语言进行概述入手,对c语言应用特点和计算机中C语言的运用进行了分析. 关键 ...

  3. [原创]如何在Windows XP 中利用监视计算机中的资源使用情况

    [原创]如何在Windows XP 中利用监视计算机中的资源使用情况 1. 开始菜单->控制面板->管理工具->性能 2. 右键单击添加计数器 3. 选择要监视计算机,我在这里选择了 ...

  4. 计算机中c语言的应用特点,计算机中C语言的应用特点分析

    计算机中C语言的应用特点分析 阮鹏飞 (荆楚理工学院湖北·荆门448000) 摘要在计算机的应用过程中,C语言是一门十分常用的语言.和其他的语言相比较而言,C语言是一门面向过程的语言,其中的各个环节的 ...

  5. 计算机中c语言的应用特点,计算机中C语言应用特点.doc

    计算机中C语言应用特点 计算机中C语言应用特点 摘 要 在计算机应用过程中,C语言是一门比较常用的语言,其为各个环节的操作提供了便利.与其他高级计算机语言相比,C语言有其独特的应用特点,因为C语言语法 ...

  6. 计算机中减法英语,计算机中的减法运算

    学习过计算机组成原理的同学可能知道,虽然我们可以让计算机做减法运算,但是计算机内部实际上是在做加法运算.因为加.减.乘.除四则运算都可以分解成加法运算和位移运算,而且计算机也只会处理这两种简单的运算, ...

  7. 计算机中的类型,计算机中各种件文的类型及其作用.doc

    计算机中各种件文的类型及其作用 1. "323" "H.323 Internet 电话技术" 2. "386" "虚拟设备驱动程序 ...

  8. alt在计算机中代表什么,计算机中alt+enter是什么快捷键

    计算机中alt+enter是什么快捷键 发布时间:2021-02-24 13:54:12 来源:亿速云 阅读:133 作者:小新 这篇文章将为大家详细讲解有关计算机中alt+enter是什么快捷键,小 ...

  9. 计算机中减法英语,计算机中加减乘除叫什么键

    大家好,我是时间财富网智能客服时间君,上述问题将由我为大家进行解答. 计算机中加减乘除叫运算功能键,计算器的按键分为:有数字键,功能键,运算键. 电子计算机(electronic computer)通 ...

最新文章

  1. 【Spark深入学习 -14】Spark应用经验与程序调优
  2. luogu P1058 立体图
  3. [objective-c] 08 - 内存管理
  4. 电脑计算机d盘有用吗,d盘不见了,教您电脑d盘不见了怎么解决
  5. #Linux学习笔记# Linux系统查看文件内容的命令
  6. as 与 is 的区别
  7. 阶段3 2.Spring_07.银行转账案例_1 今日课程内容介绍
  8. 微信公众号基础入门知识
  9. 协议实例说明--租房
  10. Kotlin 开发Android app(十九):文件读写和SharedPreferences内容存储
  11. 昆石VOS2009/VOS3000 2.1.6.00 新功能介绍
  12. ccc.exe_什么是CCC.exe,为什么运行?
  13. 人才辈出各领风骚 中国股市十大操盘手排行榜
  14. Java中多继承的实现
  15. 我接触过的广东美食——流口水
  16. Matlab plot绘图颜色详解
  17. Matlab网页交互
  18. Web前端第一季(HTML):三:课时 7 : 106-设置文档类型和网页编码+课时 8 : 107-段落标签和标题标签+课时 9 : 108-标签的属性和段落的对齐属性
  19. MTK平台 获取本机的SIM卡中IMSI号
  20. HTTP(7) HTTPS

热门文章

  1. HtmlAgilityPack 处理通配的contains
  2. 标头“Vary:Accept-Encoding”指定方法及其重要性分析
  3. ORB_SLAM2源码:ORBmatcher.cc
  4. java 远程共享_【原创】(扫盲)远程共享对象SharedObject的用法
  5. android源代码 abi,Android内核源码Abi目录学习笔记
  6. libc.so.6 is needed by mysql_libc.so.6(GLIBC_2.14)(64bit) is needed by…问题的解决办法
  7. fanuc机器人四边形编程_FANUC机器人示教编程:原始路径恢复功能介绍与使用方法...
  8. 黑龙江科技大学计算机类分数线,2019年黑龙江科技大学优势专业排名及分数线...
  9. python 列表推导式
  10. c语言的发展8个过程,c语言发展过程.pptx