mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Frage zu zwei Bytes


Autor: *GAST* (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guten morgen,
eine Zahl besteht aus zwei Bytes. Das Höherwertige Byte ist gleich 1, 
das niederwertige Byte ist gleich 244. Was ergibt das zusammengesetzt? 
Und wie kommt man darauf?

Autor: celine (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
1 * 2^8 + 244 * 2^0

Autor: Kluchscheißernder Nixwisser (kluchscheisser)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Eine Zahl besteht aus zwei Ziffern, die höherwertige ist eine 1, die 
niederwertige eine 7. Wie kommt man darauf, dass die Zahl 17 ist?

In eine Ziffer (dezimal) passt der Wertevorrat von 0 bis 9, in ein Byte 
der Wertevorrat von 0 bis 255.

MfG

Autor: Thomas K (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
MSB: 1 -> 0x01
LSB: 244 -> 0xF4

Ergibt 0x01F4 = 500

Wie man darauf kommt sollte ersichtlich sein.

Gruss
Th

Autor: Frank Meier (aktenasche)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
244dec + 1dec(=1bin) um 8 bit nach links geshiftet

11110100bin
+100000000bin
=
111110100bin
=500dec

Autor: *GAST* (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
warum kann die 1 und 244 in hexadezimal zusammengesetzt werden, was 500 
ergibt? Wieso funktioniert das nur bei hexadezimal und nicht auch bei 
dezimal oder octal? Da ist doch nur die Basis anders...

Autor: Klaus Wachtler (mfgkw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das passt bei hexadezimal deshalb besser, weil du Bytes vorgegeben 
hattest.
Die haben 8 Bit, und eine Hex-Ziffer steht für 4 Bit.
Man kann also jedes Byte leicht mit zwei Hex-Ziffern darstellen
(4 passt genau zweimal in 8).

Bei oktal steht jede Ziffer dagegen für 3 Bit, und 3 passt nicht glatt 
in 8.
Deshalb ist es oktal etwas umständlicher zu rechnen.

Dezimal geht jede Ziffer überhaupt nicht auf ganze Byte auf; deshalb
muß man zur Umrechnung dividieren und multiplizieren.

Autor: der mechatroniker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Weil die Basis 16 eine Potenz von 2 ist. 8 nicht, 10 auch nicht, und 16 
ist auch keine (ganzzahlige) Potenz von 8 oder 10.

Autor: der mechatroniker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Äh sorry, mit 8 und 2 gehts natürlich auch, nur nicht so schön.

Autor: Thomas Burkhart (escamoteur)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich finds super, dass auch auf eine so Grundlegende Frage diesmal 
wirklich konstruktiv und nicht beleidigend geantwortet wurde
Tom

Autor: Martin Vogel (oldmax)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi
Mal ein Hinweis zum Rechnen mit Basis und Exponent...
Die dezimalzahl 243 setzt sich aus 2*100+4*10+3 zusammen. In Potenzen 
ausgedrückt:
Einer: 3*10^0
Zehner: 4*10^1
Hunderter: 2*10^2
Die Hochzahlen sind ebenfalls wie auf einem Zahlenstrahl geordnet in der 
Mitte steht die 0
so ist die Zahl 0,3 = 3*10^-1
Eine Mathematik würde nicht stimmen, wenn man nicht gleiche Technik auch 
bei anderer Basis anwenden könnte. z. B. der dezimalwert 500
So ist in der Binärmathematik analog anzusetzen
eine Binäre Zahl aus 9 Bit ergibt z.B. 1 11110100 sich aus :
  0*2^0 (Bit 0= 1.Stelle)
+ 0*2^1 (Bit 1= 2.Stelle)
+ 1*2^2 (Bit 2= 3.Stelle)
....
+ 1*2^8 (Bit 8 = 9. Stelle) sollte dez. 500 ergeben.
Da wir es mit 9 Bits zu tun haben geht's sogar Oktal. Bilden wir erst 
einmal 3 Bitgruppen
111 + 110 + 100 = 7 + 6 + 4 = 764 Oktal
Nun die Rechnung mit Basis 8
  4*8^0 (1.Stelle)
+ 6*8^1 (2.Stelle)
+ 7*8^2 (3.Stelle)
und weils so schön war die Hex-Zahlen...
Bilden wir 4er Bitgruppen, dazu müssen wir mit 0 auffüllen
0001 1111 0100 = 1+ F + 4 =  1F4 Hex
also     4      *16^0   (1.Stelle)
     +   F (15) *16^1   (2.Stelle)
     +   1      *16^1   (3.Stelle)
 Es sollte überall die selbe Dezimalzahl errechnet werden können.
Wenn du noch Spaß hast, dann versuch dich mal mit negativem 
Exponenten....
Außerdem... eigentlich gibt's hier selten beleidigende Antworten, gut, 
manche sind nicht wirklich hilfreich, aber manchmal wird auch versucht, 
Hausaufgaben machen zu lassen, da kommt's denn schon mal vor, das die 
ein oder andere Antwort nicht passt.
Gruß oldmax

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.