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)