本教程將介紹輸出INT類型在內(nèi)存中占多少個(gè)字節(jié)
新建一個(gè)333.php,如圖所示:
添加php的界定符(?php?>),如圖所示:
聲明PHP與瀏覽器交互的文件類型和編碼,如圖所示:
使用常量 PHP_INT_SIZE 來(lái)獲取INT類型在內(nèi)存中占多少個(gè)字節(jié),如圖所示:
使用 echo 語(yǔ)句輸出常量 PHP_INT_SIZE 獲取到的字節(jié)數(shù),如圖所示:
運(yùn)行網(wǎng)頁(yè),在瀏覽器上顯示獲取到的結(jié)果,如圖所示:
section id="smaller-text-left-7">至此,本教程結(jié)束!
至此,本教程結(jié)束!內(nèi)容擴(kuò)展
php中int類型在不同平臺(tái)所占不同字節(jié)數(shù)理解
1.在不同平臺(tái)上占字節(jié)數(shù)與最大值
2.為什么在不同的平臺(tái)上int類型所占字節(jié)數(shù)有差異呢
不管什么類型,編譯型語(yǔ)言都會(huì)把源碼編譯成機(jī)器碼,由于不同平臺(tái)寄存器位寬不一樣, 所以有了自己對(duì)int的規(guī)定, 導(dǎo)致int 這個(gè)數(shù)據(jù)類型比較特殊,具體分配的字節(jié)數(shù)與機(jī)器字長(zhǎng)和編譯器有關(guān)。但一般等于機(jī)器寄存器位寬(64位平臺(tái)除外,默認(rèn)為4字節(jié)),如在32位平臺(tái)上(所謂32位平臺(tái)是指通用寄存器的數(shù)據(jù)寬度是32)編寫代碼,int 類型分配4個(gè)字節(jié),而在16位平臺(tái)是則分配2個(gè)字節(jié)。編譯器是把代碼轉(zhuǎn)換為機(jī)器碼的軟件,如果他愿意,可以把int轉(zhuǎn)換為256位的,只不過(guò)會(huì)增加機(jī)器的復(fù)雜度,降低可移植性。
3.平臺(tái)
個(gè)人把這三者合起來(lái)考慮(CPU+OS+Compiler)是因?yàn)椋?、64位機(jī)器也可以裝32位系統(tǒng)(x64裝XP);2、32位機(jī)器上可以有16/32位的編譯器(XP上有tc是16位的,其他常見的是32位的);3、即使是32位的編譯器也可以弄出64位的integer來(lái)(int64)。以上這些是基于常見的wintel平臺(tái),加上我們可能很少機(jī)會(huì)接觸的其它平臺(tái)(其它的CPU和OS),所以個(gè)人認(rèn)為所謂平臺(tái)的概念是三者的組合。雖然三者的長(zhǎng)度可以不一樣,但顯然相互配合(即長(zhǎng)度相等,32位的CPU+32位的OS+32位的Compiler)發(fā)揮的能量最大。另外一個(gè)話題,如果只是從抽象的層面來(lái)看,每個(gè)程序有的只是虛擬的計(jì)算環(huán)境,可以不必考慮實(shí)際的環(huán)境,只需要了解虛擬環(huán)境的情況就可以了,這在不考慮移植性或者非底層編程的時(shí)候是很有幫助的,這樣可以使你關(guān)注你的邏輯而不是實(shí)現(xiàn)
標(biāo)簽:廈門 海北 濮陽(yáng) 文山 湘西 黔東 梅河口 惠州
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《PHP INT類型在內(nèi)存中占字節(jié)詳解》,本文關(guān)鍵詞 PHP,INT,類型,在,內(nèi)存,中占,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。