Na podanym przykładzie (tylko przykładzie - byś załapał) masz tak:
A = 129, czyli binarnie 1 0000001
B = 193, czyli binarnie 1100000 1
Dla A najstarszy bit (7 bit, bo typ BYTE jest na 8 bitach trzymany) jest równy 1 (pierwszy z lewej).
Dla B najmłodszy bit też jest równy 1 (pierwszy z prawej).
Odpowiedzią zatem będzie 1 000000 1 , czyli 129.
A teraz obliczenia w Pascalu:
var A,B,C: byte;
A := 129;
B := 193;
C := (A and 128) or (B and 1);
Opis:
A and 128 (binarnie 10000000) “wyłuskuje” najstarszy (7) bit tej liczby
B and 1 (binarnie 00000001) “wyłuskuje” najmłodszy (0) bit tej liczby
Operacja “or” dodaje binarnie te liczby.
Oczywiście “wyłuskiwanie” interesujących nas bitów działa na całej liczbie, więc dla A bit nr 7 ma wartość 1, a pozostałe są zerami (dziesiętnie to liczba 128).