Различия типов int и short |
Здравствуйте, гость ( Вход | Регистрация )
Различия типов int и short |
AD |
29.12.2010, 9:10
Сообщение
#1
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
Вопрос для общеобразовательной цели - в чем различие типов short и int? Поискал в интернете - ответы настолько противоречивые, что так и не пришел к одному выводу. Основным различием называют то, что short всегда 16-разрядный, а int зависит от платформы и компилятора, но даже это многими оспаривается. А есть ли точный ответ?
|
|
|
ufna |
29.12.2010, 10:30
Сообщение
#2
|
Активный участник Группа: Участник Сообщений: 362 Регистрация: 24.5.2008 Из: Курган/СПб Пользователь №: 182 Спасибо сказали: 29 раз(а) Репутация: 5 |
AD, а чего тут оспаривать? Проверь размеры. short 2 байта, инт на 32 бит системе 4 байта. Все просто. Инт зависит от разрядности системы, short всегда 2 байта. Поэтому если система 16 битная, то размеры равны, иначе - инт больше. Это чисто на практике можно проверить.
|
|
|
AD |
29.12.2010, 15:37
Сообщение
#3
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
AD, а чего тут оспаривать? Проверь размеры. short 2 байта, инт на 32 бит системе 4 байта. Все просто. Инт зависит от разрядности системы, short всегда 2 байта. Поэтому если система 16 битная, то размеры равны, иначе - инт больше. Это чисто на практике можно проверить. Я не спорю, что sizeof(short) меньше sizeof(int). Меня смущает формулировка: Цитата short всегда 16, а int нет. Это не так, как я узнал. Например, если байт будет не 8 бит, а меньше, то уже такое определение не подходит. Вот точноe onpeделенue из вики. Язык крайне простой, потому без перевода: Цитата In computer programming, a short integer is a data type that can represent a whole number which may take less storage, while having a smaller range, compared with a standard integer on the same machine. A variable defined as a short integer in one programming language may be different in size to a similarly defined variable in another. In some languages this size is fixed across platforms, while in others it is machine dependent. In some languages this datatype does not exist at all. In C, it is denoted by short. It is required to be at least 16 bits, and is often smaller than a standard integer, but this is not required[1][2]. A conforming program can assume that it can safely store values between −215 and 215-1, but it may not assume that the range isn't larger. In Java, a short is always a 16-bit integer. In the Windows API, the datatype SHORT is defined as a 16-bit signed integer on all machines[3]. [edit]Common sizes © wiki Сообщение отредактировал AD - 29.12.2010, 16:01 |
|
|
Текстовая версия | Сейчас: 26.11.2024, 7:32 |