您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關PHP中INT類型在內存中占多少字節,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
新建一個333.php,如圖所示:
添加php的界定符(<?php?>),如圖所示:
聲明PHP與瀏覽器交互的文件類型和編碼,如圖所示:
使用常量 PHP_INT_SIZE 來獲取INT類型在內存中占多少個字節,如圖所示:
使用 echo 語句輸出常量 PHP_INT_SIZE 獲取到的字節數,如圖所示:
運行網頁,在瀏覽器上顯示獲取到的結果,如圖所示:
section id="smaller-text-left-7">至此,本教程結束!
至此,本教程結束!
內容擴展
php中int類型在不同平臺所占不同字節數理解
1.在不同平臺上占字節數與最大值
在32位平臺上int占4個字節,在64位平臺上int占8個字節,PHP_INT_SIZE
在32位平臺上int的最大值2^31 - 1,在64位平臺上int最大值2^63 - 1,PHP_INT_MAX。php中int不支持無符號
2.為什么在不同的平臺上int類型所占字節數有差異呢
不管什么類型,編譯型語言都會把源碼編譯成機器碼,由于不同平臺寄存器位寬不一樣, 所以有了自己對int的規定, 導致int 這個數據類型比較特殊,具體分配的字節數與機器字長和編譯器有關。但一般等于機器寄存器位寬(64位平臺除外,默認為4字節),如在32位平臺上(所謂32位平臺是指通用寄存器的數據寬度是32)編寫代碼,int 類型分配4個字節,而在16位平臺是則分配2個字節。編譯器是把代碼轉換為機器碼的軟件,如果他愿意,可以把int轉換為256位的,只不過會增加機器的復雜度,降低可移植性。
3.平臺
個人把這三者合起來考慮(CPU+OS+Compiler)是因為:1、64位機器也可以裝32位系統(x64裝XP);2、32位機器上可以有16/32位的編譯器(XP上有tc是16位的,其他常見的是32位的);3、即使是32位的編譯器也可以弄出64位的integer來(int64)。以上這些是基于常見的wintel平臺,加上我們可能很少機會接觸的其它平臺(其它的CPU和OS),所以個人認為所謂平臺的概念是三者的組合。雖然三者的長度可以不一樣,但顯然相互配合(即長度相等,32位的CPU+32位的OS+32位的Compiler)發揮的能量最大。另外一個話題,如果只是從抽象的層面來看,每個程序有的只是虛擬的計算環境,可以不必考慮實際的環境,只需要了解虛擬環境的情況就可以了,這在不考慮移植性或者非底層編程的時候是很有幫助的,這樣可以使你關注你的邏輯而不是實現
看完上述內容,你們對PHP中INT類型在內存中占多少字節有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。