Welcher Datentyp? 65136 = hxFE70 = -400

Persönliche Seite #5025909
Lesenswert?
• ▲
▼
Der Wert 0xfe70 ist ein vorzeichenbehafteter 16-Bit-Wert, dargestellt im 
Zweierkomplement.

In C kann man das so "umrechnen":
1
int16_t x = (int16_t) 0xfe70u;

Oder, um es ohne Compiler nachvollziehen zu können:

Windows-Taschenrechner aufrufen, auf "Programmierer" einstellen, "WORD" 
als Datentyp auswählen, auf Hex stellen, 0xfe70 eingeben, auf Dez 
stellen und ... -400 angezeigt bekommen.
Gast #5026052
Lesenswert?
• ▲
▼
Sapperlot W. schrieb:
> Nee. Ob Vorzeichen behaftet laesst sich aufgrund der Hex Schreibweise
> nicht bestimmen.

Aha... Sowas kann aber auch nur von einem Informatiker kommen.

Selbstweständlich geht das. Erstes Bit (in dem Falle also das ganz links 
stehende Bit in "F") gesetzt = negative Zahl. Was ist daran soooo 
schwer?

Ein halbwegs tauglicher Programmierer sollte zumindest die Hex-Zahlen 
0-F kennen und beherrschen.
Beitrag #5026059 wurde von einem Moderator gelöscht.
Gast #5026603
Lesenswert?
• ▲
▼
Rufus Τ. F. schrieb:
> S. R. schrieb:
>> Bei einem uint32_t ist das ganz links stehende Bit kein Vorzeichenbit.
>
> Nochmal: Lesen und Verstehen:
>
> Datn schrieb:
>> Laut Hersteller ist das Format Signed Short.
>
> (Hervorhebung von mir)

Eben, laut Hersteller.

Aber aus dem Hex-Wert allein kann man nicht ablesen,
ob er signed oder unsigned ist.
#5027241
Lesenswert?
• ▲
▼
Rufus Τ. F. schrieb:
> Natürlich nicht, aber die Fragestellung gleitet dann auch irgendwie ins
> Bizarre ab.

Da im Eingangsbeispiel -400 genannt wurde, ist von vorzeichenbehafteten 
Zahlen auszugehen. Ich hab das nur nicht explizit dazugeschrieben, dass 
mir das auch klar war.

Einer Hexzahl sieht man ihre Interpretation grundsätzlich nie an, es 
braucht immer zusätzliche Informationen.
Gast #5027268
Lesenswert?
• ▲
▼
bastler schrieb:
> Aber aus dem Hex-Wert allein kann man nicht ablesen,
> ob er signed oder unsigned ist.

Man kann es mit der Genauigkeit aber auch übertreiben. Das ist ziemlich 
mühsam hier und macht dann auch kein Spass mehr zu helfen.

Weil:

Datn schrieb:
> Laut Hersteller ist das Format Signed Short.

Reicht völlig.

Datn schrieb:
> Ist das jetzt eigentlich Little Indian oder Big Indian?
>
> Kapier das unter Vb.net noch nicht so richtig.

Intel ist little Endian.

Grüsse,
René
Gast #5027543
Lesenswert?
• ▲
▼
René H. schrieb:
> bastler schrieb:
>> Aber aus dem Hex-Wert allein kann man nicht ablesen,
>> ob er signed oder unsigned ist.
>
> Man kann es mit der Genauigkeit aber auch übertreiben.

Ausgangspunkt dieser überflüssigen Diskussion
war dieser Beitrag:

fft schrieb:
> Sapperlot W. schrieb:
>> Nee. Ob Vorzeichen behaftet laesst sich aufgrund der Hex Schreibweise
>> nicht bestimmen.
>
> Aha... Sowas kann aber auch nur von einem Informatiker kommen.
>
> Selbstweständlich geht das. Erstes Bit (in dem Falle also das ganz links
> stehende Bit in "F") gesetzt = negative Zahl. Was ist daran soooo
> schwer?
>
> Ein halbwegs tauglicher Programmierer sollte zumindest die Hex-Zahlen
> 0-F kennen und beherrschen.

Darauf kam diese Antwort:

S. R. schrieb:
> fft schrieb:
>> Selbstweständlich geht das. Erstes Bit (in dem Falle also das ganz links
>> stehende Bit in "F") gesetzt = negative Zahl. Was ist daran soooo
>> schwer?
>
> Bei einem uint32_t ist das ganz links stehende Bit kein Vorzeichenbit.


Es folgte dieser Widerspruch:

Rufus Τ. F. schrieb:

> Nochmal: Lesen und Verstehen:
>
> Datn schrieb:
>> Laut Hersteller ist das Format Signed Short.

Und ich schrieb darauf:

bastler schrieb:
> Eben, laut Hersteller.
>
> Aber aus dem Hex-Wert allein kann man nicht ablesen,
> ob er signed oder unsigned ist.

Ich habe also nur versucht, die Diskussion zu entwirren.
Aber vielleicht hätte ich mich besser nicht eingemischt.

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.