|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
15.04.2011, 23:49 | #1 |
Пользователь
Регистрация: 14.12.2010
Сообщений: 31
|
меньше чем int (C)
Тут обнаружил ,что на С нет типа byte (что есть в Pascal)
но есть bool _ Можно ли для заполнения таблицы решений(массив) использовать bool (как тип)? Сам массив какой тип тогда будет иметь ?? |
15.04.2011, 23:51 | #2 |
С++
Форумчанин
Регистрация: 22.09.2008
Сообщений: 791
|
есть тип char, от -128 до 127
если нужен беззнаковый, то unsigned char от 0 до 255 еще есть short в 2 байта, от -32768 до 32677 или unsigned short от 0 до 65535 а вообще да, можно и bool массив будет как обычно bool array[10];
Форматируйте код, будьте людьми.
Последний раз редактировалось Granus; 15.04.2011 в 23:55. |
16.04.2011, 00:26 | #3 |
Пользователь
Регистрация: 14.12.2010
Сообщений: 31
|
пробывал - не хочет ...
говорит - не задиклорирован bool а вот и ответ... _________ Типа bool в С действительно нет. Точнее, в версиях стандарта до C99 его действительно нет. В С99 он есть, но называется _Bool. Кроме того, определен заголовочный файл <stdbool.h> в котором определен `bool' как синоним для _Bool. Сделано это было, чтобы не нарушать совместимость с существующим кодом. GCC поддерживает С99 в этом отношении. Однако особого смысла в использовании _Bool/bool я не вижу, т.к. в плане проверки типов это обычный целочисленный тип (совместимый по присваиванию с int и так далее). Единственная особенность -- явное приведение к _Bool дает всегда либо 0 либо 1 (это, однако, не означает, что переменная типа _Bool будет занимать в памяти один бит) -- точно такой же эффект может быть достигнут при помощи `!!' Испточник: http://www.linux.org.ru/forum/development/286002 |
16.04.2011, 00:27 | #4 |
Форумчанин
Регистрация: 29.09.2010
Сообщений: 636
|
bool в С++ только есть
|
16.04.2011, 07:49 | #5 |
С++
Форумчанин
Регистрация: 22.09.2008
Сообщений: 791
|
аа, ну если на чистом си, то там вместо bool целочисленные типы данных и используются
Форматируйте код, будьте людьми.
|
16.04.2011, 08:01 | #6 | |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
Цитата:
А битовые поля? unsigned X : 3; unsigned : 0;// Неименованное поле для выравнивания по границе нового элемента памяти. Можно объявить и как булеву переменную: boolean X : 1; Кстати, в одном байте можно разместить 8 таких переменных. При простом объявлении, boolean занимает один байт.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder Последний раз редактировалось Smitt&Wesson; 16.04.2011 в 08:03. |
|
16.04.2011, 16:01 | #7 |
Пользователь
Регистрация: 14.12.2010
Сообщений: 31
|
Спасибо - не знал я про битовые поля
вот нацарапал .. что-то .. странно .. -второе условие он пропускает .. что тут не так ?? Код:
|
16.04.2011, 22:51 | #8 |
Форумчанин
Регистрация: 29.09.2010
Сообщений: 636
|
если вы хотите bool можете сделать так
enum bool {false, true}; false==0 true==1 |
17.04.2011, 17:41 | #9 |
Пользователь
Регистрация: 14.12.2010
Сообщений: 31
|
можно но меня инресует вот этот момент
struct //по примеру из wiki { unsigned a:2; unsigned b:2; unsigned c:2; }mas; в структуре после : указавается размет выделяемой памяти (Т.е колличество битов) Для записи 1 и 0 bool насколько помню требуется 1 бит , но почему тогда второе условие пропускается ? |
17.04.2011, 17:49 | #10 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
ну наверно потому что его условие не выполняется.
отладчиком то пройдитесь. Цитата:
поэтому используется либо байт, либо два либо 4 байта(про 8 не слышал) Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. Последний раз редактировалось Пепел Феникса; 17.04.2011 в 17:51. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
С++:invalid types 'int[int]' for array subscript | greendoom | Помощь студентам | 0 | 19.03.2011 16:53 |
С++ Опереатор перезагрузки ()(int,int) | Jane-sad | Помощь студентам | 1 | 08.10.2010 15:26 |
int vs unsigned int | Kn793 | Общие вопросы C/C++ | 13 | 28.08.2010 22:00 |
Чем больше объектов - тем меньше скорость? | Diego__ | Microsoft Office Word | 6 | 05.01.2010 01:39 |
Ячейка не меньше 1000 | mirawoo | Microsoft Office Excel | 2 | 24.10.2008 11:04 |