Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> Казус-резус с типом int, Почему is_int(-2147483648) возвращает float?
Eninub  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 3
Пользователь №: 43131
На форуме: 5 месяцев, 6 дней
Карма:




Минимальное значение целового типа int для 32-разрядных ОС равно -2147483648. Тогда почему функции - is_int(-2147483648) и var_dump(-2147483648) возращают тип float,
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
killer8080  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 8735
Пользователь №: 26630
На форуме: 5 лет, 9 месяцев, 2 дня
Карма: 591




Цитата (Eninub @ 27.06.2016 - 21:55)
Минимальное значение целового типа int для 32-разрядных ОС равно -2147483648

неправильно, правильно -2147483647
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Eninub  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 3
Пользователь №: 43131
На форуме: 5 месяцев, 6 дней
Карма:




Но,
echo PHP_INT_MIN; // выдает 2147483648

Как это понимать? А вот выдержка из PHP manual: ... The maximum value depends on the system. 32 bit systems have a maximum signed integer range of -2147483648 to 2147483647.

Это сообщение отредактировал Eninub - 27.06.2016 - 22:56
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
killer8080  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 8735
Пользователь №: 26630
На форуме: 5 лет, 9 месяцев, 2 дня
Карма: 591




Eninub
знак это старший бит, т.е. 32-ой, для самого числа остается 31 бит
echo bindec(str_pad('', 31, '1')); // 2147483647




Спустя 3 минуты, 18 секунд killer8080 написал(а):
если у тебя 32-х битная система, выведи
echo 0xffffffff;
увидишь минимальное INT
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Eninub  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 3
Пользователь №: 43131
На форуме: 5 месяцев, 6 дней
Карма:




echo 0xffffffff; // вывело 4294967295

Я работаю с Eclipce PHP, может в нём проблема?
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
killer8080  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 8735
Пользователь №: 26630
На форуме: 5 лет, 9 месяцев, 2 дня
Карма: 591




Цитата (Eninub @ 27.06.2016 - 23:01)
echo 0xffffffff; // вывело 4294967295

значит у тебя 64-х битный PHP, не может у тебя такое быть
Цитата (Eninub @ 27.06.2016 - 21:55)
var_dump(-2147483648) возращают тип float,

ты что то путаешь
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Ответ в темуСоздание новой темыСоздание опроса