我在 PHP 中处理图片,当我生成带透明通道的 argb 值时,我期望返回的是 0xFFFFFFFF ,但是结果很奇怪,有人知道原因吗?
$argb=0xFF << 24 + 0xFFFFFF;
var_dump($argb); // int(2139095040) == 0x7F800000
PHP 手册上说:
如果给定的一个数超出了 integer 的范围,将会被解释为 float 。同样如果执行的运算结果超出了 integer 范围,也会返回 float 。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.