Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> 16 и 32 разрядные тип int, В чем разница 
:(
    Опции темы
Borny
Дата 25.4.2006, 12:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 25.4.2006

Репутация: нет
Всего: нет



Всем доброго времени суток.
Я новичек в программировании и много не знаю. Сейчас занимаюсь по книге и уменя возникли пара вопросов.
В чем разница между 16 и 32 битовыми реализацияи представления числа int? Например чило int  может хранить числовые значения 65535 без знака и от -32768 до 32767 со знаком. Весь этот диапазон умещается в 16 битах, что происходит в 32 битах? 
PM MAIL   Вверх
adonin
Дата 25.4.2006, 12:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 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
--------------------
Тот, кто слизывает мед с крапивы, платит за него слишком дорого. (Томас ФУЛЛЕР)
PM MAIL   Вверх
kirjanov
Дата 25.4.2006, 13:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 326
Регистрация: 22.1.2006
Где: Dark wood of erro r

Репутация: 1
Всего: 15



to adonin, 
только наверное 65535 ;) 
PM MAIL   Вверх
adonin
Дата 25.4.2006, 13:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 166
Регистрация: 16.12.2005
Где: Новочеркасск Рост овская обл.

Репутация: 2
Всего: 5



Цитата(kirjanov @  25.4.2006,  13:43 Найти цитируемый пост)
только наверное 65535 ;)  

Да, очепятки  smile  
--------------------
Тот, кто слизывает мед с крапивы, платит за него слишком дорого. (Томас ФУЛЛЕР)
PM MAIL   Вверх
Borny
Дата 25.4.2006, 14:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 25.4.2006

Репутация: нет
Всего: нет



Цитата

Аналогично для 32 бит без знака:
max=(2^32)-1=4294967295
Со знаком:
от -2^31 до (2^31)-1, то есть от -2147483648 до 2147483647

Ну это вобщем  понятно  smile 
Просто в книге указано максимальное значение для 16 и 32 бит одинаковое, от -32768 до 32767 со знаком и 65535 - без знака.  Вот и хочется разобратся, может расположение или значения в 32 битной форме отличается от 16 битной реализации числа с типом int?

Добавлено @ 14:05 
Или в книге что-то напутали? 
PM MAIL   Вверх
adonin
Дата 25.4.2006, 15:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 166
Регистрация: 16.12.2005
Где: Новочеркасск Рост овская обл.

Репутация: 2
Всего: 5



Цитата(Borny @  25.4.2006,  14:04 Найти цитируемый пост)
может расположение или значения в 32 битной форме отличается от 16 битной реализации числа с типом int?

Нет.
Цитата(Borny @  25.4.2006,  14:04 Найти цитируемый пост)
Или в книге что-то напутали? 

Возможно. 
--------------------
Тот, кто слизывает мед с крапивы, платит за него слишком дорого. (Томас ФУЛЛЕР)
PM MAIL   Вверх
sergejzr
Дата 25.4.2006, 15:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 19
Всего: 360



Тип int наверняка определён в книге как (2^16)-1, а сколько в нём бит физически - уже значения не имеет.
Для 64 бит бери что нибудь вроде int_64. Так же и тут физическое кол-во бит не будет иметь значения и в 32 битной системе на обьект такого типа будет просто уходить 2 ячейки.

Хотя стандартом названия типов вроде не определены. Можешь написать свой компилер и int в 11 бит определить smile . 


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Heremum
Дата 25.4.2006, 19:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 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. 
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0937 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.