|
|
|
| В php есть int max, есть границы для rand... Зачем это? Я несовсем понимаю, зачем числовые границы для компьютера. Ему посчитать 9*9 и (9^9^9^9)*9 - едино. Для чего ограничения в директивах? | |
|
|
|
|
|
|
|
для: Shorr Kan
(02.05.2008 в 08:29)
| | Да это не ограничение, а представление, и наверное потому, что удобнее представлять:
11111111111111111111111111*1 не как = 11111111111111111111111111, а как = 1.11111111111E+25, например. | |
|
|
|
|
|
|
|
для: sim5
(02.05.2008 в 10:08)
| | int в PHP представляется 4 байтами. Отсюда и взялось это ограничение. | |
|
|
|
|
|
|
|
для: AnddA
(02.05.2008 в 13:03)
| | > int в PHP представляется 4 байтами
Это никак не причина, это следствие. Кстати, не в PHP, а в компьютере.
Ограничение, очевидно, из-за разрядности процессора. Будет у тебя 64-разрядный (64-битный) процессор с операционной системой, которая это поддерживает - максимальное целое будет 9223372036854775807. | |
|
|
|
|
|
|
|
для: Atheist
(02.05.2008 в 14:56)
| | Я о другом спрашиваю. Если причину указания максимально-используемой оперативы в php.ini я понимаю, то причину указания там максимально используемого целого числа - нет. Откуда такая необходимость? | |
|
|
|
|
|
|
|
для: Shorr Kan
(02.05.2008 в 15:23)
| | Ну это еще объяснимо: 2147483647 = 7FFFFFFF, ну и другая половина для отрицательных чисел. Но как понять в РНР такое:
111111111111*1 = 111111111111
1111111111111111*1 = 1111111111110000, а JS покажет 1111111111111111
11111111111111111*1 = 1.11111111111E+16, и только с этой разрядности вразумительно? | |
|
|
|
|
|
|
|
для: Shorr Kan
(02.05.2008 в 15:23)
| | > причину указания там максимально используемого целого числа - нет
Может покажешь такую директиву? | |
|
|
|
|
|
|
|
для: Atheist
(02.05.2008 в 15:29)
| | Не-а, не покажу. Просто знаю, что есть константа PHP_INT_MAX . Наверное где-то она устанавливается, правильно? | |
|
|
|
|
|
|
|
для: Shorr Kan
(02.05.2008 в 20:10)
| | > Наверное где-то она устанавливается, правильно?
Неправильно. Точнее, раз она существует, то устанавливается. Но всяко не в php.ini:
REGISTER_MAIN_LONG_CONSTANT("PHP_INT_MAX", LONG_MAX, CONST_PERSISTENT | CONST_CS);
|
| |
|
|
|
|
|
|
|
для: Shorr Kan
(02.05.2008 в 15:23)
| | А при чем тут php.ini? | |
|
|
|
|
|
|
|
для: sim5
(02.05.2008 в 15:32)
| | А разве PHP_INT_MAX устанавливается не в php.ini ?
Но про разрядность я понял - спасибо. | |
|
|
|