Mal ne Dumm-kluge-Frage ^^
-
LordJaxom schrieb:
@Individuum:
Ich würde die Bits allerdings nicht mit AND setzen :pDas ist richtig, ich auch nicht.
Man könnte natürlich gleich
bool8 = -1;schreiben und würde so gleich alle 8 Bits auf 1 setzen.
Wollte bloss mal das setzen einzelner Bits 'demonstrieren'.

-
Genau, oder:
bool8 = ( 1 << CHAR_BIT * sizeof( unsigned char ) ) - 1;Oder:
bool8 = std::numeric_limits< unsigned char >::max();Oder:
bool8 = UCHAR_MAX;
-
Oder:
template< typename Type, std::size_t N = std::numeric_limits< Type >::digits > struct set_bits { static const Type value = ( set_bits< Type, N - 1 >::value << 1 ) | 1; }; template< typename Type > struct set_bits< Type, 0 > { static const Type value = 0; }; /* ... */ bool8 = set_bits< bool8 >::value;*scnr*
-
wie wärs ganz unkonventionell mit
unsigned char bool8 = 0xFF;?
-
Tja, und was machst du, wenn ich ein 16-Bit unsigned char habe?
-
.filmor schrieb:
Tja, und was machst du, wenn ich ein 16-Bit unsigned char habe?
was dann? ist doch egal, wie die 8 ungenutzten bits gesetzt sind

-
Dann gibts ein paar hinter die Löffel weil du dein unsigend char bool8 genannt hast...

-
zeigerzeiger schrieb:
Dann gibts ein paar hinter die Löffel weil du dein unsigend char bool8 genannt hast...

und das oben drauf!
-
.filmor schrieb:
Tja, und was machst du, wenn ich ein 16-Bit unsigned char habe?
Das wird es wohl nie geben.
-
staun schrieb:
.filmor schrieb:
Tja, und was machst du, wenn ich ein 16-Bit unsigned char habe?
Das wird es wohl nie geben.
Sagt wer?
16-Bit Bytes ftw!
-
staun schrieb:
.filmor schrieb:
Tja, und was machst du, wenn ich ein 16-Bit unsigned char habe?
Das wird es wohl nie geben.
Aber natürlich!
Es spricht auch nichts gegen 32 oder 64 Bit chars. Oder vllt sogar 128? Alles möglich! 
-
uniforme sprachen, die nur noch einen typ haben: VAR, 1024 bit groß.
-
.filmor schrieb:
staun schrieb:
.filmor schrieb:
Tja, und was machst du, wenn ich ein 16-Bit unsigned char habe?
Das wird es wohl nie geben.
Sagt wer?
16-Bit Bytes ftw!ich !
stell dir vor, die ganzen funktionen in bibliotheken ( Ansi C, C++ )
alle lesen z.B. Dateien byteweise ein ( das ist ein unsigned char )und auf einmal würde das 16Bit werden ! was für ein chaos entstehen würde !
16-Bit Bytes ftw ? humbug !
staun for president !
-
Wenn die ganze Plattform 16bit-Bytes hat, ist auch die kleinste adressierbare Einheit in einer Datei ein 16bit-Byte. Keine Probleme hier. Dass man mit einer solchen Plattform beim Datenaustausch mit anderen Plattformen aufpassen muss, steht auf einem anderen Blatt.
Der C(++)-Standard definiert übrigens tatsächlich nicht explizit, dass ein char (== die kleinste adressierbare Einheit) 8bit haben muss.
-
LordJaxom schrieb:
Wenn die ganze Plattform 16bit-Bytes hat, ist auch die kleinste adressierbare Einheit in einer Datei ein 16bit-Byte. Keine Probleme hier. Dass man mit einer solchen Plattform beim Datenaustausch mit anderen Plattformen aufpassen muss, steht auf einem anderen Blatt.
Der C(++)-Standard definiert übrigens tatsächlich nicht explizit, dass ein char (== die kleinste adressierbare Einheit) 8bit haben muss.
Eben, wenn. Die Betonung liegt ganz auf wenn. Irgendwie völlig an der Praxis vorbei, nicht wahr.
-
Ein char muss nur die kleinste Einheit sein sizeof( char ) = 1 (immer). Aber wieviel Bit ein char hat ist nicht festgelegt. Drum gibts auch eine Konstante CHAR_BIT die die Anzahl der Bits eines chars angibt. Und ja, ein char kann 16, 32, 64, 128, oder sonst irgendeine Bitzahl haben.
staun schrieb:
LordJaxom schrieb:
Wenn die ganze Plattform 16bit-Bytes hat, ist auch die kleinste adressierbare Einheit in einer Datei ein 16bit-Byte. Keine Probleme hier. Dass man mit einer solchen Plattform beim Datenaustausch mit anderen Plattformen aufpassen muss, steht auf einem anderen Blatt.
Der C(++)-Standard definiert übrigens tatsächlich nicht explizit, dass ein char (== die kleinste adressierbare Einheit) 8bit haben muss.
Eben, wenn. Die Betonung liegt ganz auf wenn. Irgendwie völlig an der Praxis vorbei, nicht wahr.
Unsinn...
Noch ein Link zum Thema: http://www.parashift.com/c++-faq-lite/intrinsic-types.html
-
staun schrieb:
Eben, wenn. Die Betonung liegt ganz auf wenn.
Eben, wenn. Nicht falls.

-
David_pb schrieb:
Unsinn...
Nö, der Normalfall. Und ich könnt wetten, daran wird sich auch nichts ändern.
Mindestens so lange nicht, bis wir den Löffel abgegeben haben.
Danach können wir das ja leider nicht mehr überprüfen.
-
staun schrieb:
David_pb schrieb:
Unsinn...
Nö, der Normalfall. Und ich könnt wetten, daran wird sich auch nichts ändern.
Mindestens so lange nicht, bis wir den Löffel abgegeben haben.
Danach können wir das ja leider nicht mehr überprüfen.
Der Normalfall ist nicht der allgemeine Fall. Und du musst es nicht glauben, es ist aber Fakt.
-
Der Normalfall ist der am meisten verbreitete, der gängigste.
Brauchst du nicht glauben, ist aber so.
Wenn dein System 16 Bit chars hat, dann hast du halt nen Exoten.
Ausnahmen bestätigen die Regel, nicht wahr.