Rst7 5 16 июня, 2009 Опубликовано 16 июня, 2009 · Жалоба А как по вашему можно еще? А никак. Она в озу должна быть uint8_t, а в регистрах - uint_fast8_t, что на автоматизме компилятором не поддерживается. Следовательно правильный ответ - фтопку bool. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_Pasha 0 16 июня, 2009 Опубликовано 16 июня, 2009 · Жалоба Следовательно правильный ответ - фтопку bool. + пицот Тем более, что важен не сам bool, а в логическом выражении. А тут уже структуры с битовыми полями утрясутся компилятором до пары выражений and/or с константой (набором бит), а при операциях с тупо bool - никогда красоты такой не увидать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dimka76 63 16 июня, 2009 Опубликовано 16 июня, 2009 · Жалоба Следовательно правильный ответ - фтопку bool. Если звезды зажигаются, значит это кому-то нужно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Rst7 5 16 июня, 2009 Опубликовано 16 июня, 2009 · Жалоба Если звезды зажигаются Эта звезда точно нах не нужна Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_Pasha 0 16 июня, 2009 Опубликовано 16 июня, 2009 · Жалоба Если звезды зажигаются, значит это кому-то нужно. Bool - это закидон из языка другого уровня, повыше, чем Си (хоть с десятью плюсами). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dimka76 63 16 июня, 2009 Опубликовано 16 июня, 2009 · Жалоба Bool - это закидон из языка другого уровня, повыше, чем Си (хоть с десятью плюсами). В курсе :rolleyes: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 69 16 июня, 2009 Опубликовано 16 июня, 2009 · Жалоба Bool - это закидон из языка другого уровня, повыше, чем Си (хоть с десятью плюсами). Эта "звезда" предусмотрена специально для пришедших с "языка другого уровня", дабы не вызывать у них состояние когнитивного диссонанса. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_Pasha 0 16 июня, 2009 Опубликовано 16 июня, 2009 · Жалоба Эта "звезда" предусмотрена специально для пришедших с "языка другого уровня", дабы не вызывать у них состояние когнитивного диссонанса. А эффект от него - обратный. Вводящий в ступор. Как и реализация довольно-таки абстрактного и платформенно-зависимого типа Boolean на "языке другого уровня" в виде 1 байта. Дурдом. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sonycman 1 16 июня, 2009 Опубликовано 16 июня, 2009 · Жалоба А эффект от него - обратный. Вводящий в ступор. Какой ещё ступор? Нормальный тип, два состояния, "да" или "нет". Логически воспринимается проще, чем int или char для этой же цели. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Rst7 5 16 июня, 2009 Опубликовано 16 июня, 2009 · Жалоба Логически воспринимается проще, чем int или char для этой же цели. Человеком, но не процом с разрядностью регистров больше char. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
artemkad 89 16 июня, 2009 Опубликовано 16 июня, 2009 · Жалоба +1. Тоже хотел эти МК как пример "малоногих" ARM привести. 100 Series Devices Хороший пример. Хотя эти заразы (Luminarymicro) для получения даташита требуют регистрации, нашел, хоть и устаревший (2006-го). И что там видим. Да, круто. PLL до 200МГц, UART с буферами, до 4-х 16 битных таймеров, встроенное деление, LDO .... В общем ГУД. А теперь ложка дегтя ;) . Традиционно - отсутствие ЕЕPROM. Нет АЦП. Ну и самое главное - потребление 35 мА на 20 МГц "System Clock(with PLL)" (сколько кушает в sleep-е в той доке не указано :( )!!! ЗЫ. В общем вот так и получаем, что как только речь заходит о устройстве с батарейным питанием AtMega88 становится в данном случае более разумным выбором (кстати, и более дешевым) чем LM3S102... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sonycman 1 16 июня, 2009 Опубликовано 16 июня, 2009 · Жалоба Человеком, но не процом с разрядностью регистров больше char. Ну тут, видимо, компромисс между скоростью обработки и обьёмом занимаемой памяти... Хороший пример. Хотя эти заразы (Luminarymicro) для получения даташита требуют регистрации, нашел, хоть и устаревший (2006-го). А что так боимся зарегистрироваться? Не съедят, уверяю! :laughing: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Rst7 5 16 июня, 2009 Опубликовано 16 июня, 2009 · Жалоба Ну тут, видимо, компромисс между скоростью обработки и обьёмом занимаемой памяти... Какой, к черту, компромисс? Вот если бы bool был нативным типом у компилятора, да еще и правильно обрабатывался, тогда да. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Petka 0 16 июня, 2009 Опубликовано 16 июня, 2009 · Жалоба Какой, к черту, компромисс? Вот если бы bool был нативным типом у компилятора, да еще и правильно обрабатывался, тогда да. Чего-то я не понимаю. В чём проблема-то? Хотите быстро, определите свой тип BOOL как uint_fast8_t. Хотите компактно используйте макрос битовой упаковки. Си позволяет делать и то и другое. Контроллеры то тут причём? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Rst7 5 16 июня, 2009 Опубликовано 16 июня, 2009 · Жалоба Чего-то я не понимаю. В чём проблема-то? Хотите быстро, определите свой тип BOOL как uint8_fast. Хочется, чтобы и быстро, и качественно. А это значит, что пока операнд в регистрах - должен иметь тип uint_fast8_t, а когда попадает в ОЗУ - просто uint8_t. Без нативной поддержки компилятором это сделать автоматически невозможно, а значит bool идет лесом :) Контроллеры то тут причём? Контроллеры ни при чем. Так, оффтоп небольшой. Щас завяжем, опять будем AVR8 гноить Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться