2012-10-03 回答

VC2008中的float.h头文件中的宏定义:

#define DBL_MAX    1.7976931348623158e+308 /* max value */

追问:

我是初学者。。。。那个范围是只有自己试出来吗。。还是直接输入。。那长串。。

追答:

要了解这个,需要学习一下浮点数类型的内存模型。

SOSO问问不准贴网址,帮你找到了都不能贴出来。无语了。

这是那个网站的内容:

从存储结构和算法上来讲,double和float是一样的,不一样的地方仅仅是float是32位的,double是64位的,所以double能存储更

高的精度。

任何数据在内存中都是以二进制(0或1)顺序存储的,每一个1或0被称为1位,而在x86CPU上一个字节是8位。比如一个16位(2

字节)的short int型变量的值是1000,那么它的二进制表达就是:00000011 11101000。由于Intel CPU的架构原因,它是按字节倒

序存储的,那么就因该是这样:11101000 00000011,这就是定点数1000在内存中的结构。

目前C/C++编译器标准都遵照IEEE制定的浮点数表示法来进行float,double运算。这种结构是一种科学计数法,用符号、指数和

尾数来表示,底数定为2——即把一个浮点数表示为尾数乘以2的指数次方再添上符号。下面是具体的规格:

````````符号位 阶码 尾数 长度

float 1 8 23 32

double 1 11 52 64

临时数 1 15 64 80

由于通常C编译器默认浮点数是double型的,下面以double为例:

共计64位,折合8字节。由最高到最低位分别是第63、62、61、……、0位:

最高位63位是符号位,1表示该数为负,0正;

62-52位,一共11位是指数位;

51-0位,一共52位是尾数位。

按照IEEE浮点数表示法,下面将把double型浮点数38414.4转换为十六进制代码。

把整数部和小数部分开处理:整数部直接化十六进制:960E。小数的处理:

0.4=0.5*0+0.25*1+0.125*1+0.0625*0+……

实际上这永远算不完!这就是著名的浮点数精度问题。所以直到加上前面的整数部分算够53位就行了(隐藏位技术:最高位的1

不写入内存)。

如果你够耐心,手工算到53位那么因该是:38414.4(10)=1001011000001110.0110101010101010101010101010101010101(2)

科学记数法为:1.001……乘以2的15次方。指数为15!

于是来看阶码,一共11位,可以表示范围是-1024 ~ 1023。因为指数可以为负,为了便于计算,规定都先加上1023,在这里,

15+1023=1038。二进制表示为:100 00001110

符号位:正—— 0 !

合在一起(尾数二进制最高位的1不要):

01000000 11100010 11000001 11001101 01010101 01010101 01010101 01010101

按字节倒序存储的十六进制数就是:

55 55 55 55 CD C1 E2 40

c语言double最大整数最小正数,用C语言输出DOUBLE类型的最大值怎么做?相关推荐

  1. 求最大值-本题目要求读入2个整数A和B,然后输出两个数的最大值

    求最大值 本题目要求读入2个整数A和B,然后输出两个数的最大值. 输入格式: 输入在一行中给出2个绝对值不超过1000的整数A和B. 输出格式: 对每一组输入,在一行中输出最大值. 输入样例: 在这里 ...

  2. 怎么用c语言表示大整数的四则运算,用c语言编写大整数的四则运算,求大神

    用c语言编写大整数的四则运算,求大神 答案:3  信息版本:手机版 解决时间 2019-10-03 17:13 已解决 2019-10-03 01:32 用c语言编写大整数的四则运算,求大神 最佳答案 ...

  3. c语言随机生成整数存放一维数组_C语言入门教程(十)多维数组

    作业: 1.编写程序从键盘得到一个非负数,统计出每个数字在各数位上出现的次数并把结果打印在屏幕上 一.变长数组 C99规范中允许使用变长数组 声明变长数组时可以使用变量表示存储区个数 如果多次运行这个 ...

  4. c语言五个整数排序,刚学c语言,老师让用if编一个五个数字从大到小的排序,有那个大神能帮我,谢谢啦...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include #define N 5 int main() { int numbers[N]; int i,j,pre,k; int x = 5; i ...

  5. c语言五个整数排列,刚学c语言,老师让用if编一个五个数字从大到小的排序,有那个大神能帮我,谢谢啦...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include #define N 5 int main() { int numbers[N]; int i,j,pre,k; int x = 5; i ...

  6. C语言算出一行的最大数,多输入输出练习1 (C语言代码)给定很多行数据,要求输出每一行的最大值。注意输入输出的格式要求...

    参考代码如下:#include #include #include int main(void) { int output[20];   //存放输出结果的数组,假设最多只有20组输入 int out ...

  7. 如何使double为整数时不带小数点

    如何使double为整数时不带小数点 假设一个double类型的变量被赋值为5,则输出时会显示5.00000 怎样才能在输出时去掉小数点? 并且当它赋值为小数时(比如5.12)输出时会仍显示小数 pu ...

  8. C语言字符串转换为整数(附完整源码)

    C语言字符串转换为整数 C语言字符串转换为整数完整源码 C语言字符串转换为整数完整源码 #include <assert.h> #include <stdio.h> #incl ...

  9. java需要最大正数_Java输出double类型中的最小正数和最大正数

    这是<写给大忙人看的java核心技术>中的一道练习题. 1. 输出最大正数值 System.out.println(Double.MAX_VALUE); 直接输出包装类Double的MAX ...

最新文章

  1. java一个点向着另一个点移动_java – 在线性路径中从一个点移动一个对象
  2. selenium调用js文件_selenium肿么调用执行这两个js函数
  3. java.io.CharConversionException isHexDigit JS转码问题
  4. RocketMQ的安装与配置
  5. [Java基础]字节缓冲流
  6. 计算机辅助语言和语言学关系,西方语言学与多媒体计算机辅助语言学习_王艳萍...
  7. 安全研究员警告:特斯拉 Backup Gateway 联网存在多种安全风险
  8. linux安装bin文件命令,Ubuntu下bin文件的安装
  9. wps重复上一步快捷键_word回到上一步快捷键是什么
  10. python批量生成姓名_python——批量生成姓名
  11. React生命周期详解
  12. Handsontable使用教程 含授权码LicenseKey
  13. php怎么分栏,wps怎么分栏排版
  14. mysql从删库到跑路 Ubuntu篇
  15. C语言semaphore头文件,C语言再学习 -- 常用头文件和函数
  16. 残差网络ResNet到ResNeXt解读,最强ResNeXt预训练模型已开源及如何使用
  17. Educoder - Java类和对象之对象组合之求圆锥体表面积
  18. linux如何连接手机传文件,Ubuntu和手机通过蓝牙互传文件
  19. 【Verilog】FPGA驱动Ov7670/Ov7725搭建视频通路(RGB565、灰度图)
  20. 小红书App产品需求文档(PRD)

热门文章

  1. vmware esxi安装ACS5.2踩过的坑
  2. 建立Hexo博客-1
  3. 【狐记】一心如旧(剑网3·侠肝义胆沈剑心 第二季ED)
  4. 题目12: 寻找最佳装载快递的货车
  5. swiper 鼠标放上去停止滚动
  6. 服务器文件存储设置大小,云服务器存储文件大小
  7. 还不知道这11个超酷的编程新工具你就 out 了!
  8. 如何解决,Windows 7 下弹出U盘那个图标点击了没反应
  9. 从奴隶社会到资本主义社会的转变
  10. js字符串和数字之间的转换