amiga-news DEUTSCHE VERSION
.
Links| Forums| Comments| Report news
.
Chat| Polls| Newsticker| Archive
.

amiga-news.de Forum > Programmierung > Tilde Operator "~" [ - Search - New posts - Register - Login - ]

-1- [ - Post reply - ]

2006-11-30, 14:54 h

Honitos
Posts: 200
User
Ich habe ein C-Beispiel mit einer Zuweisung:

a = ~0

Was bedeutet das ? Ich habe gelesen, der Tilde-Operator negiert quasi alle bits des folgenden Ausdrucks. Ist das dann richtig ?

Sven

[ - Answer - Quote - Direct link - ]

2006-11-30, 15:15 h

thomas
Posts: 7721
User
@Honitos:

Jep. ~0 ist das gleiche wie 0xffffffff oder -1.

Und ~0xaaaaaaaa ist 0x55555555.

Gruß Thomas

--
Email: thomas-rapp@web.de
Home: thomas-rapp.homepage.t-online.de/

[ - Answer - Quote - Direct link - ]

2006-11-30, 15:40 h

Honitos
Posts: 200
User
@thomas:
Danke Dir !

[ - Answer - Quote - Direct link - ]

2006-12-01, 14:29 h

Solar
Posts: 3680
User
Zitat:
Original von thomas:

~0 ist das gleiche wie 0xffffffff oder -1.


...auf Maschinen mit Zweierkomplement-Darstellung.

Ja, ich weiß, das sind 99,999% der heute verfügbaren CPUs. Mir war danach, mal wieder eine Korinthe zu... OK, vergessen wir das. I-)

[ - Answer - Quote - Direct link - ]

2006-12-02, 14:52 h

ZeroG
Posts: 1488
User
@Solar:
Maschinen ohne Zweierkomplement-Darstellung?
Klingt interressant.
Welche Darstellung verwenden die denn dann?

[ - Answer - Quote - Direct link - ]

2006-12-02, 17:33 h

Ralf27
Posts: 2779
User
Zitat:
Original von ZeroG:
@Solar:
Maschinen ohne Zweierkomplement-Darstellung?
Klingt interressant.
Welche Darstellung verwenden die denn dann?


Ach, die einzige mir bekanntenn Maschinen waren die ersten Computer überhaupt. Die haben es damals mal mit dem Dezimalsystem versucht, bis zu doch zum Binärsystem umgestiegen sind. Frag mich jetzt aber nicht welche Maschinen das waren... Z3?

Bzw. welche Rechner würden denn dann heute ohne Binärsystem laufen? Vermutlich die Experimentalrechner wie z.b. "Lichtcomputer" oder "Biorechner" (Leuts mir fallen da gerade nicht die richtigen Begriffe ein, also bitte richtige Begriffe einsetzen. :D )
--
http://www.alternativercomputerclub.de.vu

[ - Answer - Quote - Direct link - ]

2006-12-03, 14:20 h

Holger
Posts: 8116
User
Zitat:
Original von Ralf27:
Ach, die einzige mir bekanntenn Maschinen waren die ersten Computer überhaupt. Die haben es damals mal mit dem Dezimalsystem versucht, bis zu doch zum Binärsystem umgestiegen sind. Frag mich jetzt aber nicht welche Maschinen das waren... Z3?

Verwechsel Zweierkomplement nicht mit Binärdarstellung. Die Zweikomplementdarstellung ist die Darstellung der negativen Zahlen, diejenige, die z.B. dafür sorgt, dass die größte positive Integer-Zahl plus 1 einen Überlauf auf die kleinste negative Zahl verursacht. Ich bezweifle sowieso, dass es für diese Rechner schon nen C-compiler gab.

Aber ~0 == -1 gilt sowieso nur für signed Variablen in C. Schon hier funktioniert es nicht:
C code:
unsigned short a=~0;
signed int b=a;


mfg
--
Good coders do not comment. What was hard to write should be hard to read too.

[ - Answer - Quote - Direct link - ]

2006-12-03, 17:38 h

Ralf27
Posts: 2779
User
Ups, sorry, da muß ich wohl wirklich einiges durcheinandergeworfen haben.
--
http://www.alternativercomputerclub.de.vu

[ - Answer - Quote - Direct link - ]

2006-12-04, 08:19 h

Solar
Posts: 3680
User
Neben dem Zweierkomplement gibt's da z.B. das Einerkomplement, was z.B. die Konvertierung zwischen positiven und negativen Zahlen vereinfacht, aber zu einer vorzeichenbehafteten Null führt.

Mir ist schon klar, das ich hier von absoluten Exoten rede. Quasi Computerarchäologie. Ich bin nur mit der Zeit immer vorsichtiger geworden, was solche "natürlichen Annahmen" angeht, weil ich schon mit viel einfacheren Sachen auf die Nase gefallen bin. (Neulich hatte ich da einen Compiler/Linker, der bei externen Symbolen tatsächlich nicht case sensitive war... uiuiui... I-) )

[ - Answer - Quote - Direct link - ]

2006-12-04, 11:14 h

Holger
Posts: 8116
User
@Solar:
Ganz so exotisch ist es ja auch wieder nicht, schließlich benutzen die FPUs (wahrscheinlich auch wieder nicht alle ;) ) das Einerkomplement.

mfg
--
Good coders do not comment. What was hard to write should be hard to read too.

[ - Answer - Quote - Direct link - ]

2006-12-04, 13:22 h

Beeblebrox
Posts: 723
User
@Solar:
Computerarchäologie :-)))
--
>>> bEeBlEbRoX <<<
http://www.endlosstudent.de

[ - Answer - Quote - Direct link - ]

2006-12-04, 14:25 h

Solar
Posts: 3680
User
Zitat:
Original von Beeblebrox:
@Solar:
Computerarchäologie :-)))


Du glaubst gar nicht, mit was für einem Mist man sich herumschlagen muß, wenn man eine wirklich generische C-Bibliothek schreiben will... EBCDIC-Zeichensätze, "wobbling precision"-FPUs... da sind Sachen wie Einer- vs. Zweierkomplement noch "einfach" gegen. ;-)

[ - Answer - Quote - Direct link - ]


-1- [ - Post reply - ]


amiga-news.de Forum > Programmierung > Tilde Operator "~" [ - Search - New posts - Register - Login - ]


.
Masthead | Privacy policy | Netiquette | Advertising | Contact
Copyright © 1998-2025 by amiga-news.de - all rights reserved.
.