C語(yǔ)言 整型變量的值域
變量代表了內(nèi)存中的一段存儲(chǔ)空間,存儲(chǔ)空間的大小是有限制的,所以并不是所有的整數(shù)都可以用整型變量來(lái)表示。例如:ANSI C規(guī)定int型占兩個(gè)字節(jié),表示范圍在-32768?32767之間。如果將超出這個(gè)范圍的數(shù)據(jù)賦給int型變量,將會(huì)溢出。但C語(yǔ)言中編譯系統(tǒng)并不提示“溢出錯(cuò)誤”。
其實(shí)在不同的編譯器中,整型變量所占的字節(jié)是不一樣的,例如:在Turbo C中,一般用2字節(jié)(16位)表示一個(gè)int型變量,long型( 4字節(jié))>int型( 2字節(jié))>short型( 2字節(jié))。
而在VC++6.0環(huán)境中,用4字節(jié)表示一個(gè)int型變量,long型( 4字節(jié))>int型(4字節(jié))>short 型( 2字節(jié))。
所以,不同類型的整型變量,其值域是不同的,與其所占用的內(nèi)存字節(jié)數(shù)有關(guān)。例如:在Turbo C中,有符號(hào)整型變量,其值域?yàn)?2(n*8-1)?(2(n*8-1)-1),無(wú)符號(hào)整型變量的值域?yàn)镃H2(n*8)-1)。
點(diǎn)擊加載更多評(píng)論>>