本教程将介绍输出INT类型在内存中占多少个字节
新建一个333.php,如图所示:
添加php的界定符(<"" src="/UploadFiles/2021-04-02/2019072010442115.png">
声明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)发挥的能量最大。另外一个话题,如果只是从抽象的层面来看,每个程序有的只是虚拟的计算环境,可以不必考虑实际的环境,只需要了解虚拟环境的情况就可以了,这在不考虑移植性或者非底层编程的时候是很有帮助的,这样可以使你关注你的逻辑而不是实现
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
更新日志
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]
- 群星《情叹-发烧女声DSD》天籁女声发烧碟[WAV+CUE]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[FLAC/分轨][748.03MB]
- 理想混蛋《Origin Sessions》[320K/MP3][37.47MB]
- 公馆青少年《我其实一点都不酷》[320K/MP3][78.78MB]
- 群星《情叹-发烧男声DSD》最值得珍藏的完美男声[WAV+CUE]
- 群星《国韵飘香·贵妃醉酒HQCD黑胶王》2CD[WAV]
- 卫兰《DAUGHTER》【低速原抓WAV+CUE】
- 公馆青少年《我其实一点都不酷》[FLAC/分轨][398.22MB]
- ZWEI《迟暮的花 (Explicit)》[320K/MP3][57.16MB]