真正的無(wú)窮大是沒(méi)有的。 很多時(shí)候賦給它這個(gè)類(lèi)型"可能的最大值” 也就可以達(dá)到要求了。 (當(dāng)然也有時(shí)候這個(gè)辦法行不通,那你想別的辦法去吧)
成都創(chuàng)新互聯(lián)是一家專(zhuān)業(yè)從事成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)、網(wǎng)頁(yè)設(shè)計(jì)的品牌網(wǎng)絡(luò)公司。如今是成都地區(qū)具影響力的網(wǎng)站設(shè)計(jì)公司,作為專(zhuān)業(yè)的成都網(wǎng)站建設(shè)公司,成都創(chuàng)新互聯(lián)依托強(qiáng)大的技術(shù)實(shí)力、以及多年的網(wǎng)站運(yùn)營(yíng)經(jīng)驗(yàn),為您提供專(zhuān)業(yè)的成都網(wǎng)站建設(shè)、營(yíng)銷(xiāo)型網(wǎng)站建設(shè)及網(wǎng)站設(shè)計(jì)開(kāi)發(fā)服務(wù)!
關(guān)于這個(gè)"可能的最大值" ,有一些宏:
int型 最大 INT_MAX 最小 INT_MIN
float型 最大 FLT_MAX 最小 FLT_MIN
int不能表達(dá)真正的無(wú)窮大或者無(wú)窮小。
在C語(yǔ)言中,int為整型類(lèi)型,根據(jù)不同平臺(tái)不同,有16位(2字節(jié))和32位(4字節(jié))兩種,其中32位int為目前主流。
無(wú)論哪種int類(lèi)型都有其表達(dá)范圍,其中
16位int能表示的范圍為-32768~+32767
32位int能表示的范圍為-2147483648~+2147483647
從這個(gè)可以看出,int是無(wú)法表達(dá)真正的無(wú)窮大和無(wú)窮小的。
但數(shù)學(xué)中的無(wú)窮大和無(wú)窮小是指一種概念上存在實(shí)際上永遠(yuǎn)無(wú)法達(dá)到的數(shù)值,這樣在編程中,就可以根據(jù)程序要求使用一些值來(lái)替代無(wú)窮大和無(wú)窮小的概念。
一般有如下兩種情況:
1 程序中對(duì)處理的數(shù)據(jù)規(guī)模有限制,比如程序中輸入的數(shù)值只在0~100之間,那么可以設(shè)定無(wú)窮大為101,而無(wú)窮小為-1。因?yàn)樗鼈円彩窃谑褂弥袩o(wú)法達(dá)到的值。
2 程序中對(duì)數(shù)據(jù)規(guī)模沒(méi)有明確的規(guī)定。但是既然應(yīng)用的int類(lèi)型,就必須是int類(lèi)型可以容納的,否則出現(xiàn)溢出就可能導(dǎo)致錯(cuò)誤。 這樣,可以用int所能表示的最大值和最小值用做無(wú)窮大和無(wú)窮小。
比如在32位情況下,無(wú)窮小可以是-2147483648,無(wú)窮大是2147483647。
如此長(zhǎng)的一段數(shù)據(jù)是很難記憶的,由計(jì)算機(jī)對(duì)整型數(shù)據(jù)的存儲(chǔ)原理可以得知,這兩個(gè)數(shù)值的二進(jìn)制值分別為0x80000000和0x7FFFFFFF。
類(lèi)似的在16位下,無(wú)窮大為0x7FFF,無(wú)窮小為0x8000。
c語(yǔ)言 頭文件 #include limits.h 定義了各種類(lèi)型的最大值。
浮點(diǎn)數(shù)最大值定義在 float.h 里,(limits.h 包含了 float.h)
例如:
#define DBL_DIG 15 // double 精度 15位數(shù)字
#define DBL_EPSILON 2.2204460492503131e-016 // 最小的數(shù):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 格式 最大指數(shù)
你可以:
#define DB_INF DBL_MAX
定義double最大值為double正無(wú)窮DB_INF
還有各種最大值(整型,無(wú)符號(hào)型,float型,32位,64位,128位。。。。)見(jiàn)編譯器 limits 有關(guān)的頭文件們。
c/c++ 采用國(guó)際標(biāo)準(zhǔn) IEEE-754標(biāo)準(zhǔn)表示浮點(diǎn)數(shù)。
有具體的規(guī)定。例如單精度,雙精度,例如符號(hào)位,實(shí)際指數(shù),有偏移指數(shù),指數(shù)域,尾數(shù)域。
例如,32位 單精度中的:正無(wú)窮,符號(hào)位=0,實(shí)際指數(shù)=128,有偏移指數(shù)=255,指數(shù)域=1111,尾數(shù)域=000 0000 0000 0000, 或 尾數(shù)域=0000 0000。+∞。
負(fù)無(wú)窮,符號(hào)位=1,其它與 正無(wú)窮 一樣。?∞。非數(shù),NaN, 符號(hào)位可能是1,也可能是0,實(shí)際指數(shù)=128,有偏移指數(shù)=255,指數(shù)域=1111,尾數(shù)域= 非0 的數(shù)字。NaN。
其余情況,請(qǐng)自己去查 IEEE-754。概括說(shuō):無(wú)窮 指數(shù)全1,小數(shù)位0。 非數(shù), 指數(shù)全1,小數(shù)位 非0。正負(fù) 看符號(hào)位。
擴(kuò)展資料:
C語(yǔ)言的發(fā)展過(guò)程:當(dāng)代最優(yōu)秀的程序設(shè)計(jì)語(yǔ)言。
早期的C語(yǔ)言主要是用于UNIX系統(tǒng)。由于C語(yǔ)言的強(qiáng)大功能和各方面的優(yōu)點(diǎn)逐漸為人們認(rèn)識(shí),到了八十年代,C開(kāi)始進(jìn)入其它操作系統(tǒng),并很快在各類(lèi)大、中、小和微型計(jì)算機(jī)上得到了廣泛的使用。成為當(dāng)代最優(yōu)秀的程序設(shè)計(jì)語(yǔ)言之一。
C語(yǔ)言是當(dāng)今最流行的程序設(shè)計(jì)語(yǔ)言之一,它的功能豐富、表達(dá)力強(qiáng)、使用靈活方便、應(yīng)用面廣、目標(biāo)程序高、可植入性好,既有高級(jí)語(yǔ)言的特點(diǎn),又有低級(jí)語(yǔ)言的許多特點(diǎn),適合作為系統(tǒng)描述語(yǔ)言,既可以用來(lái)編寫(xiě)系統(tǒng)軟件,也可以用來(lái)編寫(xiě)應(yīng)用軟件。
C語(yǔ)言誕生后,許多原來(lái)用匯編語(yǔ)言編寫(xiě)的軟件,現(xiàn)在都可以用C語(yǔ)言編寫(xiě)了(如UNIX操作系統(tǒng)),而學(xué)習(xí)和適用C語(yǔ)言要比學(xué)習(xí)和適用匯編語(yǔ)言容易得多。
參考資料來(lái)源:百度百科-C/C++