Вход
Наше всё
Теги
codebook
无线电组件
Поиск
Опросы
Закон
Понедельник
23 июня
О смысле всего сущего
0xFF
Средства и методы разработки
Мобильная и беспроводная связь
Блошиный рынок
Объявления
Микроконтроллеры
PLD, FPGA, DSP
AVR
PIC
ARM, RISC-V
Технологии
Кибернетика, автоматика, протоколы
Схемы, платы, компоненты
Средства и методы разработки
1526013
Топик полностью
POV
(21.06.2025 13:14, просмотров: 37)
ответил
IBAH
на
я тоже так нутром чую. Но нигде не нашел, что "Konc - это 1-битовая числовая (не булевая!!!) переменная". То есть что одноразрядное битовое поле не является булевой переменной.
она и не булевая. но ее разрядность ниже чем ты в нее пишешь. надо добавлять !=0 или >0 чтобы
результат
был булевый и поместился в твою однобитную переменную.
Ответить
В Си нет булевого типа, результат операций сравнения это int имеющий значение 0 или 1. Но если это С++ тогда булевый есть, но при неявном превращении в целочисленный опять получается 0 или 1
-
AlexBi
(21.06.2025 13:19
)
1) сейчас уже есть stdbool.h 2) в "старом" си нет булевого типа, но логический результат всегда или 0 или 1 (при записи в целочисленный тип), что уже можно в однобитное поле записать.
-
POV
(21.06.2025 13:22
)
Действительно, отстал я от современности, ввели в Си булевый тип, правда называется он _Bool, а stdbool.h нужен для использования bool true false
-
AlexBi
(21.06.2025 13:42
)