![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
vankleef |
![]()
Сообщение
#1
|
![]() Студент ![]() Группа: Участник Сообщений: 74 Регистрация: 21.10.2010 Пользователь №: 2134 Спасибо сказали: 9 раз(а) Репутация: ![]() ![]() ![]() |
есть вот такой код
компилится все отлично, без ошибок. но ведь значение int'a в 10000000 превосходит его предел как в знаковом, так и в беззнаковом варианте. так вот почему это работает? |
|
|
![]() |
Iron Bug |
![]()
Сообщение
#2
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 1611 Регистрация: 6.2.2009 Из: Yekaterinburg Пользователь №: 533 Спасибо сказали: 219 раз(а) Репутация: ![]() ![]() ![]() |
да, alex977, правильно указал на получение максимального int'а. на самом деле, битность зависит и от системы, и от компилятора. 2 байта - это гарантия ДЛЯ ВСЕХ компиляторов, в том числе для чистого С. это важно для совместимости кода разных компиляторов и при передаче данных. но это не означает, что данный конкретный компилятор будет юзать для типа int два байта. вообще, давно есть типы int16, int32, int64 (названия могут варьироваться слегка от компилятора к компилятору, но суть понятна). если нужна конкретика - юзай более точные типы данных.
|
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 22.6.2025, 11:21 |