Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Wiese entspricht Not 5 einer Addition?

Forumthread: 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
Anzeige

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.
Anzeige
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
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige