c++ - library - wx widget
¿Son(bool)(i & 1) y i% 2== 1 iguales? (2)
No.
La representación del complemento 1s de int , la representación de -1 es 1 ... 10 , por lo que difieren.
De todos modos, i % 2 puede ser negativo para i negativo (de hecho, se requiere que esté en C99 cuando no es 0), y por lo tanto no es igual a 1 para números impares negativos.
¿Son (bool)(i & 1) y i % 2 == 1 siempre iguales donde i es int ?
Nota: decir siempre quiero decir para todas las plataformas (incluso cuando un byte es de 16 bits) y para todos los estándares de C y C ++.
Editar:
Para todos los estándares de C y C ++ donde exista bool .
No.
Por ejemplo, pruébalo si i es -1. -1 % 2 == -1 , y (bool) (-1 & 1) es 1.
(Suponiendo 2-complemento)