o que "? 1: 0 ”significa [duplicado]
Esta pergunta já tem uma resposta aqui:
O que o ponto de interrogação e os dois pontos (?: Operador ternário) significam no objetivo-c? 13 respostasNão entendo o que a terceira linha está tentando realizar. Recentemente, eu aprendi operadores inteligentes. Seria ótimo se alguém pudesse me acompanhar pelas duas últimas linhas. Entendo o operador de turno, mas eu não sou o operador de turno.
void create(uint8_t bInt[], int64_t num){
for (int pos = 0; pos < 32; pos++){
bInt[pos] = (num & mask) ? 1 : 0;
mask = mask << 1;
}
}
Para esta atribuição, estamos usando uma matriz de 32 elementos dos valores uint8_t para representar números inteiros de 32 bits. Por exemplo, o número inteiro 84193 em binário é 0 .... 0001 0100 1000 1110 0001. Em bInt [], ele seria armazenado como 1000 0111 0001 0010 1000 0000 .... 0. Obrigado pelo seu tempo