11-10-2022, 10:34 PM
(This post was last modified: 11-10-2022, 10:35 PM by Kernelpanic.)
A logical AND, OR and NOT would be useful. -- Regarding the binary system: does anyone know why the following program returns (Not 10) And (Not 20) a result of -31?
Code: (Select All)
'Beispiel logische Operatoren, QuickBasic 4, Seite 3.10
'10. Nov. 2022
Dim As Integer a, b
a = 10
b = 20
Print: Print Tab(4); "a And b"
Print Tab(4); a And b
'Eine 1 ergibt sich nur, wenn beide Bits 1 sind.
'00001010 -> 10
'00010100 -> 20
'--------
'00000000
Print: Print Tab(4); "a Or b"
Print Tab(4); a Or b
'Eine 1 ergibt sich, wenn mindestens ein Bit eine 1 ist.
'00001010 -> 10
'00010100 -> 20
'--------
'00011110 -> 30 (16+8+4+2)
Print: Print Tab(4); "Not"
Print Tab(4); Not a '-> -11
Print Tab(4); Not b '-> -21
'Das Ausfuehren von NOT entspricht der Addition
'einer 1 zur Zahl mit anschliessender Negation
Print: Print Tab(4); "(Not a) And (Not b)"
Print Tab(4); (Not a) And (Not b) '-> -31
'-10 = 1000 1010
'-20 = 1001 0100
'---------------
'(1)1 001 1111 -> -31
'Klappt nur, wenn 0 + 0 = 1
'Addition zweier negativer Zahlen im Binaerformat
End