para library juce gui framework cross con c++ c cross-platform

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)