Jupp, das muß natürlich auch übereinstimmen.
Wegen der "Genauigkeit" ... es kommt nicht auf die Genauigkeit drauf an, sondern auf die binäre darstrellung der Werte.
Bei soeiner mathematich unstabilen Rechnung kommen die wildestens Bitkombinationen raus, was dann zu anderen Ergebnissen führt, was du eventuell erwartest.
Delphi-Quellcode:
P1^ = 29 aka b00011101
P2^ = 76 aka b01001100
Maske = 44 aka b00101100 = beide Werte gleich
Maske = 156 aka b10011100 = P1 größer als P2
Maske = 255 aka b11111111 = P2 größer als P1
Und bei den Integerzugriffen mußt du beachten, daß du mit 4 Byte zugreifst, aber deine Pixel nur 3 Bits (pf24) groß sind und du somit meistens ein Byte eines anderen Pixels mit einrechnen könntest.