Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
zuuuuk
2 / 2 / 0
Регистрация: 05.01.2010
Сообщений: 194
1

Как настроить компилятор чтобы Int был 16 бит?

08.04.2015, 17:42. Просмотров 1792. Ответов 28
Метки нет (Все метки)

Доброго времени суток.

Я использую компилятор Dev C++.
Генерирую проект под чистый си.
При выполнении sizof (int). 4 байта получается.
по стандарту си int должен составлять 16 bit.

как настроить компилятор что бы Int Был 16 бит? как по стандарту.
И возможно ли это?
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.04.2015, 17:42
Ответы с готовыми решениями:

Как сделать так чтобы borland paskal 32 бит был на весь экран
как сделать так чтобы у меня borland paskal на 32 битке был на весь экран или подскажите на какой...

Как настроить роутер чтобы один пк был с белым ip
Здраствуйте, я тут в интернета нашел один из вариантов соединения компьютеров с провайдером:...

Как настроить локальную сеть через Wi-Fi, чтобы был интернет?
Здравствуйте! Помогите настроить локальную сеть через WiFi между компом и ноутбуком чтобы был...

Как настроить Samba36 на FreeBSD, чтобы компьютер был виден по сети из Windows XP?
Здравствуйте! Не могу настроить Samby на FreeBSD 9, Samby установил, папки создал, задал права,...

Настроить студию так, чтобы namespace в C# был выше using
Возможно это умеет решарпер? Или в студии есть такие настройки

28
gazlan
3166 / 1925 / 312
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
08.04.2015, 18:12 2
Цитата Сообщение от zuuuuk Посмотреть сообщение
по стандарту
Во-первых, размер типа зависит от платформы. 16 бит было для DOS.
Во-вторых, зачем вам именно 16 бит?
В-третьих, если уж так хочется, вместо int используйте short.
0
retmas
Жарю без масла
867 / 749 / 225
Регистрация: 13.01.2012
Сообщений: 1,702
08.04.2015, 18:25 3
Цитата Сообщение от zuuuuk Посмотреть сообщение
по стандарту си int должен составлять 16 bit.
в-четвертых, это бред и такого в стандарте нет
0
zuuuuk
2 / 2 / 0
Регистрация: 05.01.2010
Сообщений: 194
08.04.2015, 18:30  [ТС] 4
retmas, а ты его читал?
0
saden
183 / 167 / 52
Регистрация: 27.01.2013
Сообщений: 788
08.04.2015, 18:30 5
Та да, char, short и long - фиксированы, int - нет (платформо-зависимый)
0
zuuuuk
2 / 2 / 0
Регистрация: 05.01.2010
Сообщений: 194
08.04.2015, 18:36  [ТС] 6
Вот.. платформо-зависимый.
А что если процессор будет 16 разрядный? то int сколько разрядов?
А что если процессор будет 8 разрядный? то int сколько разрядов?

По стандарту int не мение 16 бит.
retmas, а вы могли бы скинуть мне ваш стандарт?
0
saden
183 / 167 / 52
Регистрация: 27.01.2013
Сообщений: 788
08.04.2015, 19:04 7
ANSI C

3.1.2.5 Types
...
There are four signed integer types, designated as signed char,
short int, int, and long int. (The signed integer and other types
may be designated in several additional ways

Добавлено через 44 секунды
знаковый целый может быть переопределен другими путями

Добавлено через 13 минут
ACSL: ANSI/ISO C Specification Language
стр. 22
Size of C integer types
Note that the size of C types is architecture-dependent. ACSL does not enforce these sizes (все типы архитектурно-зависими, ограничения не устанавливаются)
0
zuuuuk
2 / 2 / 0
Регистрация: 05.01.2010
Сообщений: 194
08.04.2015, 19:06  [ТС] 8
Хорошо....
А что если процессор будет 16 разрядный? то int сколько разрядов?
А что если процессор будет 8 разрядный? то int сколько разрядов?
0
saden
183 / 167 / 52
Регистрация: 27.01.2013
Сообщений: 788
08.04.2015, 19:13 9
Насколько я встречал, инт меньше 16 бит не бывало. Бывает ли больше 32 - не знаю (не имел дело с чистым С на х64).
1
Вованя
153 / 148 / 66
Регистрация: 20.02.2014
Сообщений: 555
Завершенные тесты: 1
11.04.2015, 09:51 10
Цитата Сообщение от saden Посмотреть сообщение
Та да, char, short и long - фиксированы, int - нет (платформо-зависимый)
Фиксирован только char, все остальные типы от платформы.
Цитата Сообщение от saden Посмотреть сообщение
Бывает ли больше 32 - не знаю
На 64х(win, lin) оставили 32 бита, а вот лонг в линупсе уже 64.
zuuuuk,
И вообще, чтобы не ломать себе голову с размерами, используй <stdint.h> и объявленые там типы
C
1
2
3
4
5
6
7
8
int8_t;
int16_t;
int32_t;
int64_t;
uint8_t;
uint16_t;
uint32_t;
uint64_t;
И в независимости от платформы, тип будет иметь именно тот размер, который тебе нужен.
1
zuuuuk
2 / 2 / 0
Регистрация: 05.01.2010
Сообщений: 194
11.04.2015, 10:13  [ТС] 11
Вованя, спасибо за ответ.
Вот вопрос.
А возможно ли вообще управлять размерностью int в компиляторе?
или там все жестко прописано под определенный процессор.
0
Вованя
153 / 148 / 66
Регистрация: 20.02.2014
Сообщений: 555
Завершенные тесты: 1
11.04.2015, 11:37 12
Цитата Сообщение от zuuuuk Посмотреть сообщение
вообще управлять размерностью int в компиляторе
Зависит от компилятора. Читай документацию к нему.
0
MansMI
1459 / 1167 / 551
Регистрация: 08.01.2012
Сообщений: 4,509
11.04.2015, 11:50 13
если скучно по жизни, установить Borland C++ (не Builder)
0
zuuuuk
2 / 2 / 0
Регистрация: 05.01.2010
Сообщений: 194
11.04.2015, 15:13  [ТС] 14
MansMI, я просто старюсь разбираться в основах.
Вованя, я не разу не сталкивался в доке, что можно изменить разрядность int.
0
Вованя
153 / 148 / 66
Регистрация: 20.02.2014
Сообщений: 555
Завершенные тесты: 1
11.04.2015, 15:36 15
zuuuuk, да я как-то особо тоже нет, особенно под x86.
А вот avr-gcc, кстати, позволяет изменить размер int -mint8

Цитата Сообщение от zuuuuk Посмотреть сообщение
я просто старюсь разбираться в основах.
Ну так почитай, как работает процессор и что такое машинное слово.
1
zuuuuk
2 / 2 / 0
Регистрация: 05.01.2010
Сообщений: 194
11.04.2015, 17:17  [ТС] 16
Цитата Сообщение от Вованя Посмотреть сообщение
А вот avr-gcc, кстати, позволяет изменить размер int -mint8
за этот ответ спасибо.
0
castorsky
1975 / 1078 / 87
Регистрация: 29.11.2013
Сообщений: 3,354
11.04.2015, 21:39 17
Цитата Сообщение от gazlan Посмотреть сообщение
В-третьих, если уж так хочется, вместо int используйте short.
stdint.h же.
Цитата Сообщение от Вованя Посмотреть сообщение
А вот avr-gcc, кстати, позволяет изменить размер int -mint8
Очередной гццшный экстенд. Ничто не мешает писать исходный код с char'ами, а не int'ами.
zuuuuk, язык статически типизированный (хоть и условно, но всё же), компилируемый в машинный код. Конечно компилятор соберет машинный код таким для какой архитектуры он (компилятор) реализован.
0
sharpey
386 / 176 / 37
Регистрация: 21.09.2008
Сообщений: 578
12.04.2015, 04:53 18
Цитата Сообщение от Вованя Посмотреть сообщение
Фиксирован только char, все остальные типы от платформы.
А как Вам размер char в 9 бит на машинах Honeywell?
0
Вованя
153 / 148 / 66
Регистрация: 20.02.2014
Сообщений: 555
Завершенные тесты: 1
12.04.2015, 12:46 19
Цитата Сообщение от sharpey Посмотреть сообщение
А как Вам размер char в 9 бит на машинах Honeywell?
Это вы мое мнение по этому поводу хотите услышать или к чему такой вопрос?
0
Evg
Эксперт CАвтор FAQ
21088 / 8105 / 628
Регистрация: 30.03.2009
Сообщений: 22,437
Записей в блоге: 30
12.04.2015, 13:00 20
Цитата Сообщение от sharpey Посмотреть сообщение
А как Вам размер char в 9 бит на машинах Honeywell?
Размер char'а зафиксирован с байтах, а не битах. Хотя в более поздних стандартах, чем C89, зафиксирован и размер байта в 8 бит

Ну и на всякий случай https://www.cyberforum.ru/blogs/18334/blog69.html
0
12.04.2015, 13:00
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.04.2015, 13:00

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Настроить FTP, чтобы он был виден любым людям
Подскажите кто-нибудь как можно сделать так что-бы весь FTP был виден любым людям? Например как на...

Настроить маршрутизатор, чтобы один из ПК был во внешней сети
Необходимо маршрутизатор Acorp WR-150N, чтобы один из ПК был во внешней сети. Какие настройки и где...

Как сделать чтобы Label был сверху картинки и был прозрачен?
Как сделать чтобы label был сверху картинки и он был прозрачен?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.