Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Глупый вопрос ну всеже...

13K
20 октября 2005 года
Rat_Salad
11 / / 17.10.2005
Какой размер типа int у вас?
У меня в книжке написано sizeof(int) = 2байта,
a на тестах дома (BC++ v5.5 Line) sizeof(int) = 4байта.Какой на самом деле должен быть размер типа инт?
299
20 октября 2005 года
3D Bob
885 / / 18.04.2005
Цитата:
Originally posted by Rat_Salad
Какой размер типа int у вас?
У меня в книжке написано sizeof(int) = 2байта,
a на тестах дома (BC++ v5.5 Line) sizeof(int) = 4байта.Какой на самом деле должен быть размер типа инт?


например, на Turbo C++ он два байта.
но на вижуале, билдере, и прочих современных реализациях он 4 байта.

294
21 октября 2005 года
Plisteron
982 / / 29.08.2003
Цитата:
Originally posted by Rat_Salad
Какой размер типа int у вас?
У меня в книжке написано sizeof(int) = 2байта,
a на тестах дома (BC++ v5.5 Line) sizeof(int) = 4байта.Какой на самом деле должен быть размер типа инт?


В стандарте C, afair, говорится, что размерность типов данных зависит от платформы. Для этого-то [FONT=courier new]sizeof[/FONT] и нужен...

13K
21 октября 2005 года
Rat_Salad
11 / / 17.10.2005
А как в 2байта может влезть число 65535?Т.е. в Turbo c++ максимальное значение типа unsigned int равно 0x000000FF, те это 255!Непонимаю!
7.9K
21 октября 2005 года
ШМИТ
47 / / 17.10.2005
2 байта тэо под DOS(16 разрядные система). 4 байта - 32-разрядные системы. 8 байт - 64 - разрядные системы.

Это число (как например и строка) хранятся в виде ммассива в Оперативной паняти.
3.7K
21 октября 2005 года
bioflash
169 / / 01.10.2005
Цитата:
Originally posted by Rat_Salad
А как в 2байта может влезть число 65535?Т.е. в Turbo c++ максимальное значение типа unsigned int равно 0x000000FF, те это 255!Непонимаю!



1байт - максимальное число 0x000000FF
2байта - максимальное число 0x0000FFFF
4байта - максимальное число 0x00FFFFFF
8байта - максимальное число 0xFFFFFFFF

А не так как ти написа 0x000000FF - 2байта - ето абсурд!!! 0xF (1111 - bin) - ето тетрада и занимает только 4бита!!!

Размер типа int определяється компилятором!!! Потому-что компилятор пишется с поддержкой под конкретную платформу и разрядность процесора, и поетому он и задает конкретний размер типов даних.

И только платформенно-независимие мови програмирования имеют стандартний размер типов даних повсюду (например в Java int имеет 4 байта).

13K
21 октября 2005 года
Rat_Salad
11 / / 17.10.2005
Я похоже что-то не догоняю...
Вот, допустим 8бит:
|0|0|0|0|0|0|0|0|

если туда записать число 15, то будет так:
|0|0|0|0|1|1|1|1|

если туда записать число -15, то будет так:
|1|0|0|0|1|1|1|1|

Тогда получается что максимальное число - семь единичек, тк первый байт отводится под знак:
|0|1|1|1|1|1|1|1|
(1111111 bin = 127 dec)
Тогда
|1|1|1|1|1|1|1|1|
будет равен -127.
Или я что-то путаю?
299
21 октября 2005 года
3D Bob
885 / / 18.04.2005

Но есть еще такие типы как
unsigned int - беззнаковый инт.
406
21 октября 2005 года
vitaly2003s
481 / / 27.07.2004
Цитата:
Originally posted by Rat_Salad
Я похоже что-то не догоняю...
Вот, допустим 8бит:
|0|0|0|0|0|0|0|0|

если туда записать число 15, то будет так:
|0|0|0|0|1|1|1|1|

если туда записать число -15, то будет так:
|1|0|0|0|1|1|1|1|

Тогда получается что максимальное число - семь единичек, тк первый байт отводится под знак:
|0|1|1|1|1|1|1|1|
(1111111 bin = 127 dec)
Тогда
|1|1|1|1|1|1|1|1|
будет равен -127.
Или я что-то путаю?



Ну правильно ты написал. Но если ты говориш что под unsigned int отводится 2 байта,а максимальное значение данного типа 256 то вот это чуш,должно быть по любому 65535. Если только там преднамерено не блокируют 2й байт а использую ток первый. но это глупо.

10
21 октября 2005 года
Freeman
3.2K / / 06.03.2004
Цитата:
Originally posted by Rat_Salad
Тогда получается что максимальное число - семь единичек, тк первый байт отводится под знак


Не байт, а бит. И не первый, а последний.

Получаем:
- 0..65535 - для беззнаковых 16-битных чисел
- -32768..32767 - для знаковых

276
21 октября 2005 года
Rebbit
1.1K / / 01.08.2005
Цитата:
Originally posted by Rat_Salad
А как в 2байта может влезть число 65535?Т.е. в Turbo c++ максимальное значение типа unsigned int равно 0x000000FF, те это 255!Непонимаю!



Не 0х000000FF, a 0х0000FFFF.
Может Ты думаеш что F - ето байт (я так часто путаюсь), ето пол байта
(0xF = 15 = 1111b)

13K
21 октября 2005 года
Rat_Salad
11 / / 17.10.2005
unsigned int:
старший бит отвечает за знак (например, 0x1XXXXXXX - число отрицательное).
int:
старший бит (справа на лево восьмой) является частью числа (например, 0xXXXXXXXX).

Если я прав то до меня доперло...так это?
299
21 октября 2005 года
3D Bob
885 / / 18.04.2005
Цитата:
Originally posted by Rat_Salad
unsigned int:
старший бит отвечает за знак (например, 0x1XXXXXXX - число отрицательное).
int:
старший бит (справа на лево восьмой) является частью числа (например, 0xXXXXXXXX).

Если я прав то до меня доперло...так это?


Наоборот всё.

13K
21 октября 2005 года
Rat_Salad
11 / / 17.10.2005
Ну конечно наоборот!ОписАлся!Ураа доперло!Всем спасибо!Ждите моих следующих вопросов =).
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог