Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - was macht der not Operator
Papperlapapp - Do 27.11.08 11:19
Titel: was macht der not Operator
moin,
ich habe folgendes:
Delphi-Quelltext
1: 2: 3:
| a:byte;
a:= not(a); |
wenn a:=1 was ist dann das Ergebnis? 0 oder 254?
Nersgatt - Do 27.11.08 11:23
a:byte;
a := 1; // = 00000001
a:= not(a); // = 11111110
Also 254
Gruß,
Jens
freedy - Do 27.11.08 11:25
Hi
Ich würde sagen, dass das not logisch ist, nicht binär. Daher wäre das Ergebnis 0.
Nersgatt - Do 27.11.08 11:29
freedy hat folgendes geschrieben : |
Hi
Ich würde sagen, dass das not logisch ist, nicht binär. Daher wäre das Ergebnis 0. |
Delphi-Quelltext
1: 2: 3: 4: 5: 6:
| procedure TForm1.FormCreate(Sender: TObject); var b : Byte; begin b := 1; showmessage(intToStr(not b)); end; |
Ergibt bei mir 254.
Gruß,
Jens
Gausi - Do 27.11.08 11:31
NOT kann sowohl auf einen Binärwert angewendet werden, als auch auf einen Integer-Wert. Im ersten Fall ist es die logische Negation, im zweiten die bitweise Negation. Das funktioniert auch bei einigen anderen Operatoren wir OR und AND.
Delete - Do 27.11.08 11:32
Das not wäre logisch, wenn a nicht byte, sondern boolean wäre.
freedy - Do 27.11.08 11:32
freedy hat folgendes geschrieben : |
Hi
Ich würde sagen, dass das not logisch ist, nicht binär. Daher wäre das Ergebnis 0. |
EDIT: Okay, Delphi sagt mir etwas anderes. Ich denke, dass hängt dann wohl stark vom deklarierten Typ ab. Aber das habt ihr ja schon geschrieben. :-)
Papperlapapp - Do 27.11.08 11:35
danke
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!