Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
732to736
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
732to736
732to736
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Wiese entspricht Not 5 einer Addition?

Wiese entspricht Not 5 einer Addition?
14.02.2006 16:18:12
Reinhard
Hallo Wissende,
Sub test()
MsgBox True * 1      ' -1
MsgBox False * 1     ' 0
MsgBox Not True * 1  ' 0
MsgBox Not False * 1 ' -1
MsgBox Not 0         ' -1
MsgBox Not -5        ' (-1) + (-5) = -6
MsgBox Not 5         ' (-1) + (+5) = 4
'msgbox not*1
End Sub

True ist als -1 und False ist als 0 definiert, okay. Negiert mit Not kehrt sich das um, die ersten fünf Zeilen gehen in Ordnung.
Warum kommt bei den anderen beiden Zeilen nicht 0 heraus, sondern es wird addiert?
Gruß
Reinhard

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
NOT 5 = -1 x (5 + 1)
14.02.2006 17:09:11
MichaV
Hallo,
da wird nix addiert. Es wird immer -1 x (x + 1) "gerechnet". Das hat kommt durch die invertierung der Bits (wobei ich das nicht ganz nachvollziehen kann).
Außerdem ist TRUE nicht als -1 definiert. Vielmehr ist in VB(A) alles TRUE, was nicht FALSE ist. (Also TRUE=0 , FALSE= NOT TRUE= -1 = -1 x ( 0 +1 ) , aber -4 ist genauso FALSE )
Gruß- Micha
PS: Rückmeldung wäre nett.
PPS:
aus der OH: Darüber hinaus invertiert der Operator Not die Bit-Werte einer beliebigen Variablen und legt das zugehörige Bit in Ergebnis gemäß der folgenden Tabelle fest:
Bit in Ausdruck Bit in Ergebnis
0 1
1 0
Anzeige
AW: NOT 5 = -1 x (5 + 1)
14.02.2006 17:17:48
MichaV
Hallo,
Außerdem ist TRUE nicht als -1 definiert. Vielmehr ist in VB(A) alles TRUE, was nicht FALSE ist. (Also TRUE=0 , FALSE= NOT TRUE= -1 = -1 x ( 0 +1 ) , aber -4 ist genauso FALSE )
ziehe ich vollumfänglich zurück. Hab TRUE und FALSE vertauscht und einne großen Denkfehler. Was Du sagtest war okay.
Gruß- Micha
PS: Rückmeldung wäre nett.
AW: NOT 5 = -1 x (5 + 1)
14.02.2006 18:07:14
Reinhard
Hallo Micha,
dein Ansatz mit der Bit-Negierung brachte mich weiter und es fiel mir wieder ein was ich früher mal wusste *g
Die 5 bzw -5 wird als Integer-Typ eingestuft, und der hat 16 Bits, wobei das erste das Vorzeichen angibt, 1= Negativ.
Wie nachstehend erkennbar negiert Not nur.
Gruß
Reinhard
Zahl   Integer =16 Bit         negiert                ergebnis nach Not(Zahl)
32767	0111111111111111	1000000000000000	-32768
5	0000000000000101	1111111111111010	-6
4	0000000000000100	1111111111111011	-5
3	0000000000000011	1111111111111100	-4
2	0000000000000010	1111111111111101	-3
1	0000000000000001	1111111111111110	-2
0	0000000000000000	1111111111111111	-1
-1	1111111111111111	0000000000000000	0
-2	1111111111111110	0000000000000001	1
-3	1111111111111101	0000000000000010	2
-4	1111111111111100	0000000000000011	3
-5	1111111111111011	0000000000000100	4
-32768	1000000000000000	0111111111111111	32767

Gruß
Reinhard
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige