что значит "? 1: 0 »означает [дубликат]

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

Что означает знак вопроса и двоеточие (?: Троичный оператор) в target-c? 13 ответов

Я не понимаю, чего пытается добиться третья строка. Я только недавно изучил побитовые операторы. Было бы здорово, если бы кто-нибудь мог пройти меня через последние две строки. Я понимаю оператор сдвига, но то есть оператор сдвига, я не совсем уверен, что это значит.

    void create(uint8_t bInt[], int64_t num){
      for (int pos = 0; pos < 32; pos++){ 
        bInt[pos] = (num & mask) ? 1 : 0;
        mask = mask << 1;
         }
       }

Для этого назначения мы используем 32-элементный массив значений uint8_t для представления 32-битных целых чисел. Например, целое число 84193 в двоичном виде равно 0 .... 0001 0100 1000 1110 0001. В bInt [] оно будет сохранено как 1000 0111 0001 0010 1000 0000 .... 0. Спасибо за ваше время

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

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