Я не понимаю, чего пытается достичь третья линия. Я совсем недавно выучил побитовые операторы. Было бы здорово, если бы кто-нибудь мог провести меня через последние две строчки. Я понимаю оператор сдвига, но я не совсем понимаю, что он означает.
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. Спасибо за уделенное время
(num & mask) ? 1 : 0
на(num & mask) != 0
или!!(num & mask)
- person chqrlie   schedule 24.03.2015