long in char Wert umwandeln

Gast #630202
Lesenswert?
• ▲
▼
Bin ja noob, aber fehlen da nicht ein paar Angaben, um die Frage 
sinnvoll beantworten zu können?
- Verwendete CPU (Big oder Little Endian, Architektur)
- Verwendete Programmiersprache

"Einfach zuweisen" mag zwar grundsätzlich klappen (abhängig von 
Programmiersprache), aber ein guter C-Compiler meckert bei so was 
normalerweise (implicit type conversion) und grundsätzlich ist das auch 
eher schlechter "Stil". Im Zweifel sollte man auf jeden Fall 
kommentieren, dass man das absichtlich (!) macht und nicht 
versehentlich. Einfacher und klarer (und im Endergebnis wahrscheinlich 
kein Unterschied) wird es, wenn man explizit konvertiert (castet) und am 
besten noch maskiert. Was der (zB) C-compiler dann daraus optimiert ist 
seine Sache. Aber man möchte seinen eigenen Code ja in ein paar Monaten 
auch noch verstehen ...
Gast #630223
Lesenswert?
• ▲
▼
klar gibt der Compiler ne Warnung, und es tritt ja auch ein 
Informationsverlust ein. Und wenn man sowas schon tut, wirds auch einen 
Sinn/Hintergrund haben.
Big/little-Endian dürfte meiner Meinung nach keine Rolle spielen, das 
macht der Compiler schon richtig.
Solch eine Zuweisung macht schon manchmal Sinn, nach umfangreichen 
Rechnungen mit long kann das Endergebnis durchaus immer in einen 
kleineren Datentyp passen, auch in einen char.
Noch ne kleine Falle: manche Compiler benutzen char erst mal automatisch 
als unsigned.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.