![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Borny |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 25.4.2006 Репутация: нет Всего: нет |
Всем доброго времени суток.
Я новичек в программировании и много не знаю. Сейчас занимаюсь по книге и уменя возникли пара вопросов. В чем разница между 16 и 32 битовыми реализацияи представления числа int? Например чило int может хранить числовые значения 65535 без знака и от -32768 до 32767 со знаком. Весь этот диапазон умещается в 16 битах, что происходит в 32 битах? |
|||
|
||||
| adonin |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 166 Регистрация: 16.12.2005 Где: Новочеркасск Рост овская обл. Репутация: 2 Всего: 5 |
Ну, вспоминайте информатику, для 16 бит беззнакового:
max=(2^16)-1=35536-1=35535 Для 16 бит со знаком int принимает значения: от -2^15 до (2^15)-1, то есть от -32768 до 32767 Аналогично для 32 бит без знака: max=(2^32)-1=4294967295 Со знаком: от -2^31 до (2^31)-1, то есть от -2147483648 до 2147483647 Это сообщение отредактировал(а) adonin - 25.4.2006, 12:32 --------------------
Тот, кто слизывает мед с крапивы, платит за него слишком дорого. (Томас ФУЛЛЕР) |
|||
|
||||
| kirjanov |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 326 Регистрация: 22.1.2006 Где: Dark wood of erro r Репутация: 1 Всего: 15 |
to adonin,
только наверное 65535 ;) |
|||
|
||||
| adonin |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 166 Регистрация: 16.12.2005 Где: Новочеркасск Рост овская обл. Репутация: 2 Всего: 5 |
--------------------
Тот, кто слизывает мед с крапивы, платит за него слишком дорого. (Томас ФУЛЛЕР) |
|||
|
||||
| Borny |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 25.4.2006 Репутация: нет Всего: нет |
Ну это вобщем понятно Просто в книге указано максимальное значение для 16 и 32 бит одинаковое, от -32768 до 32767 со знаком и 65535 - без знака. Вот и хочется разобратся, может расположение или значения в 32 битной форме отличается от 16 битной реализации числа с типом int? Добавлено @ 14:05 Или в книге что-то напутали? |
|||
|
||||
| adonin |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 166 Регистрация: 16.12.2005 Где: Новочеркасск Рост овская обл. Репутация: 2 Всего: 5 |
Нет. Возможно. --------------------
Тот, кто слизывает мед с крапивы, платит за него слишком дорого. (Томас ФУЛЛЕР) |
|||
|
||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 19 Всего: 360 |
Тип int наверняка определён в книге как (2^16)-1, а сколько в нём бит физически - уже значения не имеет.
Для 64 бит бери что нибудь вроде int_64. Так же и тут физическое кол-во бит не будет иметь значения и в 32 битной системе на обьект такого типа будет просто уходить 2 ячейки. Хотя стандартом названия типов вроде не определены. Можешь написать свой компилер и int в 11 бит определить |
|||
|
||||
| Heremum |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 68 Регистрация: 7.4.2006 Репутация: нет Всего: нет |
Borny
Подумай над смыслом словосочетаний 16 битный и 32-ух битный. Вот 16 бит: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00. Это число 0, как не трудно понять. Значения каждого бита два: 0 или 1, а так как их 16, то соответственно взаимных комбинаций 0 и 1, 2 в 16 степени. Так же и с 32-ух битными: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00. Вот тебе число 0 в 32-ух битном числе. Вариантов 2^32 степени. Разница в диапозоне числовом. Такие типы, в с++, например в спецификации MS, описаны как __in16 = int и __int32. |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |