Зачем использовать !! (условие) вместо (условие)? [Дубликат]

На этот вопрос уже есть ответ здесь:

Что означает !! (x) в C (особенно ядро Linux)? 3 ответа

видел код, в котором люди использовали условные предложения с двумя '!'

#define check_bit(var, pos)       (!!((var) & (1 < (pos))))
#define likely(x)       __builtin_expect(!!(x),1)
#define unlikely(x)     __builtin_expect(!!(x),0)

Ответы на вопрос(4)

Ваш ответ на вопрос