PHP基础学习

PHP-整型浮点型

2017-03-10  本文已影响266人  hellowenqi

1. 不同进制数表示

十六进制:0x或0X开头
十进制: 1-9开头
八进制:0开头
2进制:0b开头

官方说明

2. 字节数

与平台有关,64位机器就是64位,32位操作系统就是32位,PHP7之前,windows只能是32bit;位数通过PHP_INT_SIZE设置,最大值使用常量PHP_INT_MAX (5.0.4), 最小值 PHP_INT_MIN(7.0.0)

3.类型转换

1. float和double 的存储

示例一
所以,关于整数部分在确保精度的范围内:
int(假设为32位)能表示的最大范围为 -2^31 ~ 2^31 - 1;
float能表示的最大的最大的整数范围是: -2^24 ~ 2^24;
double能表示的最大的最大的整数范围是: -2^53 ~ 2^53;
所以,当一个非常大的float数转为为32位整形时可能会丢失精度,即使float可以表示很大范围的整数。

2. 浮点数精度问题
详细参考:http://floating-point-gui.de/

示例
floor((0.1 + 0.7) * 10)  // 输出7,因为内部存储类似于7.9999999999999991118....

关于浮点型的使用

3. php强制类型转化

(int) True    //1;
(int) False   //0;
(int) Array() //0;
(int) Array('1', 'b') //1;

float round(float $val, int $precise)

官方例子
上一篇下一篇

猜你喜欢

热点阅读