float类型最大值和最小值
1.了解float存储结构
2.float最大值
![](/assets/blank.gif)
void main(int argc, char* argv[])
{float a=-8.25;char *p=(char*)&a;*p=0xff;*(p+1)=0xff;*(p+2)=0xff;*(p+3)=0x7f;printf("\n&a=%x",&a);printf("\na=%f",a);}
结果并不和我们想的一样,出现了1.#QNAN0,这个我也不知道为什么,知道原因的可以回复!
![](/assets/blank.gif)
#define FLT_DIG 6 /* # of decimal digits of precision */
#define FLT_EPSILON 1.192092896e-07F /* smallest such that 1.0+FLT_EPSILON != 1.0 */
#define FLT_GUARD 0
#define FLT_MANT_DIG 24 /* # of bits in mantissa */
#define FLT_MAX 3.402823466e+38F /* max value */
#define FLT_MAX_10_EXP 38 /* max decimal exponent */
#define FLT_MAX_EXP 128 /* max binary exponent */
#define FLT_MIN 1.175494351e-38F /* min positive value */
#define FLT_MIN_10_EXP (-37) /* min decimal exponent */
#define FLT_MIN_EXP (-125) /* min binary exponent */
#define FLT_NORMALIZE 0
#define FLT_RADIX 2 /* exponent radix */
#define FLT_ROUNDS 1 /* addition rounding: near */
3.测试代码:
void main(int argc, char* argv[])
{float a=-8.25;char *p=(char*)&a;*p=0xff;*(p+1)=0xff;*(p+2)=0x7f;*(p+3)=0x7f;printf("\n&a=%x",&a);printf("\na=%f",a);}
a=340282346638528860000000000000000000000.000000
4.float正最小值
#define FLT_MIN 1.175494351e-38F /* min positive value */
通过了解float类型的结构我们知道如何才能获得正的最小值,要获得正的最小值,我们只要将指数位置成最小及0000 0000 则指数为0-127=-127,然后将尾数位最后一位置1,其它置0
5.测试代码
void main(int argc, char* argv[])
{float a=-8.25;char *p=(char*)&a;*p=0x01;*(p+1)=0x00;*(p+2)=0x00;*(p+3)=0x00;printf("\n&a=%x",&a);printf("\na=%e",a);}
我们得到的结果为 1.00000000 00000000 0000 01*2^-127= 5.877472454760670*10^-039,可是结果不是我们预测的!不知道为什么
![](/assets/blank.gif)
void main(int argc, char* argv[])
{float a=-8.25;float b=0;char *p=(char*)&a;*p=0x01;*(p+1)=0x00;*(p+2)=0x80;*(p+3)=0x00;printf("\n %d ",sizeof(a));printf("\n&a=%x",&a);printf("\na=%e",a);}
![](/assets/blank.gif)
float类型最大值和最小值相关推荐
- 【c++】如何获取int类型最大值以及float类型最大值
原文链接 看下面的代码就知道了: #include <iostream> #include <limits.h>//里面有int类型的最大值和最小值 #include < ...
- Golang 整数类型最大值和最小值的定义
在写一道算法时需要用到int32类型的最大值和最小值,但是查了查在go的标准库中没有定义这些变量,所以当需要使用整数类型的最大值和最小值的时候,我们需要自己手动去定义. 无符号整型uint 其最小值是 ...
- Python学习笔记——如何获得数值类型的最大值和最小值(表示范围)
1 获得float类型的最大值 可以使用下面的代码获得float类型的"inf表示", float('inf')
- 为什么 int 类型最大值为 2^31-1,最小值为 -2^31
一个 int 占 4 字节(Byte),也就是 32 位(Bit),其中第一位用来存储正负号,1 表示负数,0 表示正数 也就是说,共有 31 位用来存储数据,所以,能够存储数字的总个数为 2^31= ...
- int 类型数据的最大值,最小值及其十六进制表示方式
用以下两行代码可以知道自己的电脑下,int数据类型的最大值,最小值 cout << "int数据类型最大值:" << (numeric_limits< ...
- 整数的最大值和最小值
本文翻译自:Maximum and Minimum values for ints I am looking for minimum and maximum values for integers i ...
- MySQL数据类型(最大值 和 最小值)
MySQL数据类型(最大值 和 最小值) 1.整型 MySQL数据类型 含义(有符号) tinyint(m) 1个字节 范围(-128~127) smallint(m) 2个字节 范围(-3276 ...
- double类型最大值_Java后端精选基础教程:Java 中的基本数据类型「连载 6」
数据类型定义了变量可以采用的值,例如,定义变量为 int 类型,则只能取整数值. 在 Java 中有两类数据类型: 1)原始数据类型 2)非原始数据类型 - 数组和字符串是非原始数据类型,将在以后的教 ...
- python输出最大值与最小值求成绩平均值_Python第3次作业
习题1: 1.初始化一个数据集,包括5-10位同学的成绩数据(数据类型不限),数据格式如下: **学号 姓名 Java C语言 Python 2017XXXX 小白 87 68 92 2017XXXX ...
最新文章
- 深度学习教程 TensorFlow and Deep Learning Tutorials
- JVM调优:GC 参数
- 2020 区域赛(沈阳) M. United in Stormwind fwt + sosdp
- VisualStudio中的代码段
- powershell 中的pause
- java定义变量的输入_Terraform中输入变量
- 适合新手学习的laravel接入微信接口,实现微信公众号二次开发
- 西门子 SinuTrain 840Dsl OPC UA 模拟
- redis下载安装教程(详细步骤)
- AI根据代码内容自动起函数名,再也不怕命名不规范的同事了|开源
- 机器学习西瓜书-代价曲线
- brat标注工具知识总结
- 拾方易告诉你:什么叫POS机封顶
- 大数据就业前景及职能定位解析!
- android10加载图片问题解决思路全程记录 FileNotFoundException: /content:/media/external/images
- 程序员自学编程被腾讯拒却月入3w是一种怎样的体验?
- 小程序楼层索引,将汉字转换为拼音并以首字母排序
- 如何设置Python环境变量?
- 东京奥运会完美收官,来看看这届奥运会都有哪些人工智能黑科技
- 安装MongoDB出现service MongoDB failed to start,verify that you have sufficient privileges to start syste