-
- А зачем именно так? - Bill(26.12.2016 09:40)
- Потому что позже может захотеться сравнить два разных бита, полученных по разным маскам. И, что самое смешное, они иногда таки будут между собой равны :) - Скрипач(26.12.2016 09:52)
- Операция двойного отрицания попросту будет проигнорирована компилятором еще на этапе оптимизации. Или нет? - Bill(26.12.2016 10:19)
- или нет - Vit(26.12.2016 12:04)
- Нет, она превратит целый тип в bool, что и требуется - Petrovich(26.12.2016 11:03, )
- Ну, ну... - Bill(26.12.2016 11:30)
- forum.vingrad.ru Petrovich(18 знак., 26.12.2016 12:19, )
- А вы сами проверяли? - Bill(26.12.2016 13:03)
- Конечно! Каждый может проверить int a=100; printf("%d\n", !!a ); Petrovich(3 знак., 26.12.2016 13:09, )
- Должно выдать "!!100" :-) - SciFi(26.12.2016 13:12)
- Конечно! Каждый может проверить int a=100; printf("%d\n", !!a ); Petrovich(3 знак., 26.12.2016 13:09, )
- А вы сами проверяли? - Bill(26.12.2016 13:03)
- forum.vingrad.ru Petrovich(18 знак., 26.12.2016 12:19, )
- Ну, ну... - Bill(26.12.2016 11:30)
- Обожаю обсуждения на тему "Си для чайников"(типа сарказм)Скучно, господа. - SciFi(26.12.2016 10:34)
- :) - Bill(26.12.2016 11:29)
- Операция двойного отрицания попросту будет проигнорирована компилятором еще на этапе оптимизации. Или нет? - Bill(26.12.2016 10:19)
- Очевидно же: целое число "ноль/не ноль" преобразовать в "ноль/единица". В дальнейшем можно присваивать переменной типа bool, сравнивать с ней и т.д. - SciFi(26.12.2016 09:52)
- Потому что позже может захотеться сравнить два разных бита, полученных по разным маскам. И, что самое смешное, они иногда таки будут между собой равны :) - Скрипач(26.12.2016 09:52)
- А зачем именно так? - Bill(26.12.2016 09:40)