十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
真正的无穷大是没有的。 很多时候赋给它这个类型"可能的最大值” 也就可以达到要求了。 (当然也有时候这个办法行不通,那你想别的办法去吧)
成都创新互联是一家专业从事成都网站建设、成都网站设计、网页设计的品牌网络公司。如今是成都地区具影响力的网站设计公司,作为专业的成都网站建设公司,成都创新互联依托强大的技术实力、以及多年的网站运营经验,为您提供专业的成都网站建设、营销型网站建设及网站设计开发服务!
关于这个"可能的最大值" ,有一些宏:
int型 最大 INT_MAX 最小 INT_MIN
float型 最大 FLT_MAX 最小 FLT_MIN
int不能表达真正的无穷大或者无穷小。
在C语言中,int为整型类型,根据不同平台不同,有16位(2字节)和32位(4字节)两种,其中32位int为目前主流。
无论哪种int类型都有其表达范围,其中
16位int能表示的范围为-32768~+32767
32位int能表示的范围为-2147483648~+2147483647
从这个可以看出,int是无法表达真正的无穷大和无穷小的。
但数学中的无穷大和无穷小是指一种概念上存在实际上永远无法达到的数值,这样在编程中,就可以根据程序要求使用一些值来替代无穷大和无穷小的概念。
一般有如下两种情况:
1 程序中对处理的数据规模有限制,比如程序中输入的数值只在0~100之间,那么可以设定无穷大为101,而无穷小为-1。因为它们也是在使用中无法达到的值。
2 程序中对数据规模没有明确的规定。但是既然应用的int类型,就必须是int类型可以容纳的,否则出现溢出就可能导致错误。 这样,可以用int所能表示的最大值和最小值用做无穷大和无穷小。
比如在32位情况下,无穷小可以是-2147483648,无穷大是2147483647。
如此长的一段数据是很难记忆的,由计算机对整型数据的存储原理可以得知,这两个数值的二进制值分别为0x80000000和0x7FFFFFFF。
类似的在16位下,无穷大为0x7FFF,无穷小为0x8000。
c语言 头文件 #include limits.h 定义了各种类型的最大值。
浮点数最大值定义在 float.h 里,(limits.h 包含了 float.h)
例如:
#define DBL_DIG 15 // double 精度 15位数字
#define DBL_EPSILON 2.2204460492503131e-016 // 最小的数:1.0+DBL_EPSILON != 1.0
#define DBL_MANT_DIG 53 /* # of bits in mantissa */
#define DBL_MAX 1.7976931348623158e+308 // 最大值
#define DBL_MAX_10_EXP 308 //e 格式 最大指数
你可以:
#define DB_INF DBL_MAX
定义double最大值为double正无穷DB_INF
还有各种最大值(整型,无符号型,float型,32位,64位,128位。。。。)见编译器 limits 有关的头文件们。
c/c++ 采用国际标准 IEEE-754标准表示浮点数。
有具体的规定。例如单精度,双精度,例如符号位,实际指数,有偏移指数,指数域,尾数域。
例如,32位 单精度中的:正无穷,符号位=0,实际指数=128,有偏移指数=255,指数域=1111,尾数域=000 0000 0000 0000, 或 尾数域=0000 0000。+∞。
负无穷,符号位=1,其它与 正无穷 一样。−∞。非数,NaN, 符号位可能是1,也可能是0,实际指数=128,有偏移指数=255,指数域=1111,尾数域= 非0 的数字。NaN。
其余情况,请自己去查 IEEE-754。概括说:无穷 指数全1,小数位0。 非数, 指数全1,小数位 非0。正负 看符号位。
扩展资料:
C语言的发展过程:当代最优秀的程序设计语言。
早期的C语言主要是用于UNIX系统。由于C语言的强大功能和各方面的优点逐渐为人们认识,到了八十年代,C开始进入其它操作系统,并很快在各类大、中、小和微型计算机上得到了广泛的使用。成为当代最优秀的程序设计语言之一。
C语言是当今最流行的程序设计语言之一,它的功能丰富、表达力强、使用灵活方便、应用面广、目标程序高、可植入性好,既有高级语言的特点,又有低级语言的许多特点,适合作为系统描述语言,既可以用来编写系统软件,也可以用来编写应用软件。
C语言诞生后,许多原来用汇编语言编写的软件,现在都可以用C语言编写了(如UNIX操作系统),而学习和适用C语言要比学习和适用汇编语言容易得多。
参考资料来源:百度百科-C/C++