WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Programmierung

Programmierung Rat & Tat für Programmierer

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 18.04.2002, 11:32   #1
fluidnet
Jr. Member
 
Registriert seit: 05.02.2002
Beiträge: 33


Standard umwandlung 8-bit-zahlen in dezimalwerte

hätte ein paar theoretische fragen zum thema binärzahlen, da ich mich auf dem gebiet gern ein wenig schlau machen will.

1. wie wandle ich 8-bit-zahlen in dezimalwerte um und umgekehrt?

2. addieren von dezimal- und binärzahlen, bzw. binär + binär?

3. hexadezimale zahlen?

ich hoffe ihr könnt mir weiterhelfen, kenn mich ein bisschen aus, aber nicht gut genug. super wäre, wenn jemand so tutorials oder links hätte...

danke euch.
fluidnet ist offline   Mit Zitat antworten
Alt 18.04.2002, 12:41   #2
Groovy
Inventar
 
Registriert seit: 24.01.2001
Beiträge: 5.107


Standard

ad. 2)

z.B.
+101011
+011111
------
1001010

von rechts nach links:
1+1=0 (Übertrag: 1)
1+1+(1)=1 (Ü: 1)
0+1+(1)=0 (Ü: 1)
1+1+(1)=1 (Ü: 1)
0+1+(1)=0 (Ü: 1)
1+0+(1)=0 (Ü: 1)
0+0+(1)=1 (Ü: 0)


3. Hex-Zahl --> Dezimalzahl

z.B. 7FFF = 7*16^3 + F*16^2 + F*16^1 + F*16^0 = 32767
Groovy ist offline   Mit Zitat antworten
Alt 18.04.2002, 12:50   #3
kikakater
Inventar
 
Registriert seit: 24.01.2001
Beiträge: 5.631


Standard

8bit Zahlen sind Dezimalzahlen ! ... mit einem Byte Umfang.

Ein Byte erlaubt es einen numerischen Wert zwischen -128 und + 127 aufzunehmen oder einen Wert von 0 bis 255.

Binär- Dezimal- und Hexadezimal-Zahl bzw. -System bezieht sich auf die äussere Darstellung eines solchen numerischen Wertes, der in z.B. 8bit - 1 Byte - gespeichert ist.

Die Umrechnung erfolgt durch die Potenzierung der Basis des jeweiligen Quell-Zahlensystems mit dem jeweiligen Rang und der Multiplikation mit der Ziffer des jeweiligen Ranges und der Summierung aller Ziffernergebnisse, danach musst Du durch Division mit den Rang-Potenzen der Basis des Ziel-Zahlensystems die einzelnen Ziffernstellen ermitteln.

"Zehner-bzw.-Dezimalsystem":

Rang 0: Einerstelle
Rang 1: Zehnerstelle
usw.

Die Einerstelle drückt sich beim Dezimalsystem so aus: Ziffer mal 10 hoch 0 ... das ergibt Ziffer mal 1.

Die Zehnerstelle drückt sich beim Dezimalsystem so aus: Ziffer mal 10 hoch 1 ... das ergibt Ziffer mal 10.

usw.

Kikakater

Suche z.B: +numbersystem +hexade[c|z]imal bzw. +binary|binär

In C kann man die printf Funktion mit dem Argument %x verwenden um einen Hexcode als String aus den Ziffern 0-9 und A-F umgewandelt zu bekommen.

Beispiel:

char c;

c=17;

printf("c dezimal = %d und sedezimal = %x\n",c,c);
kikakater ist offline   Mit Zitat antworten
Alt 18.04.2002, 15:22   #4
Ulraich
Veteran
 
Registriert seit: 23.03.2002
Alter: 43
Beiträge: 469


Ulraich eine Nachricht über ICQ schicken
Standard

Hoffe du verstehst es!

1.)Das Dualsystem ist ein Zahlensystem zur Basis 2. Es gibt nur 2 Möglichkeiten entweder 0 oder 1.
Von rechts nach links stellt die erste position 2 hoch 0 dar, die zweite 2 hoch 1, die dritte 2 hoch 2,...
7654 3210
1011 0101 = 1*(2hoch 7)+0*(2hoch6)+1*(2hoch5)+1*(2hoch4)+(0*2hoch3)+ +1*(2hoch2)+0*(2hoch1)+1*(2hoch0)= 128 + 32 + 16 + 4 + 1 = 181
Wenn man vom Dezimalen ins duale will, dann werden mehrere aufeinander folgende Divisionen mit der Basiszahl des Systems verwendet. In diesem Fall lautet die Basiszahl 2.

Beispiel:
Konvertieren Sie die Dezimalzahl 192 in eine Binärzahl.
192 geteilt durch 2 = 2 ist 96 mal in 192, Rest 0
96 geteilt durch 2 = 2 ist 48 mal in 96, Rest 0
48 geteilt durch 2 = 2 ist 24 mal in 48, Rest 0
24 geteilt durch 2 = 12 mal 2 ist 24, Rest 0
12 geteilt durch 2 = 2 ist 6 mal in 12, Rest 0
6 geteilt durch 2 = 2 ist 3 mal in 6, Rest 0
3 geteilt durch 2 = 2 ist 1 mal in 3, Rest 1
1 geteilt durch 2 = 2 ist 0 mal in 1, Rest 1
Alle Restwerte, vom letzten bis zum ersten aufgeschrieben, ergeben die Binärzahl 11000000.

... schau mal da nach: http://www.howstuffworks.com/bytes.htm

2.)Addition verläuft so das 0+0 bleibt 0 also = 0
Bei 0 + 1 ist das selbe wie 1 + 0 was logischerweiße 1 ergibt
Bei 1 + 1 Würde im Dezimalen 2 kommen, im dualen wird auch eins weiter gezählt u deshalb wird ein übertrag gebildet 1 + 1 = 0 (+Übertrag) Wenn man die rechnung jetzt mit 2bit macht: 01 + 01 werden auch die beiden einser addiert u der übertrag kommt dann in die nächste hohere stelle also ist das ergebnis 01 + 01 = 10. Wenn man dann nachrechnet stimmte es auch 1 + 1 = 2 hoch eins = 2.

3.)Das Hexadezimalsystem ist ein Zahlensystem zur Basis 16. Da es nur 10 Symbole zur Darstellung von Ziffern (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) gibt und für die Basis 16 noch weitere sechs Symbole erforderlich sind, nimmt man Buchstaben A, B, C, D, E und F als zusätzliche Symbole.
Die Position jedes Symbols oder jeder Ziffer in einer Hexzahl repräsentiert die Basiszahl 16 multipliziert mit einer von der Position abhängigen Potenz (oder einem Exponenten). Von rechts nach links stellt die erste Position 16 hoch 0 bzw. 1 dar, die zweite 16 hoch 1 bzw. 16, die dritte 16² usw.

Beispiel:
4F6A = (4 x 16³)+ (F[15] x 16²)+ (6 x 16 hoch 1)+ (A[10] x 16 hoch 0)

Ähnlich wie bei binären Zahlen erfolgt die Umrechnung von dezimal auf hexadezimal mit einem speziellen Verfahren, dem sogenannten Divisionsrestverfahren. Man arbeitet dabei mit schrittweisen Divisionen mit der Basiszahl des Systems, in diesem Fall 16.

Beispiel:
Rechne die dezimale Zahl 24032 in eine hexadezimale Zahl um.

24032 / 16 = 24032 geteilt durch 16 ist 1502, Rest 0
1502 / 16 = 1502 geteilt durch 16 ist 93, Rest 14 bzw. E
93 / 16 = 93 geteilt durch 16 ist 5, Rest 13 bzw. D
13 / 16 = Dieses letzte Ergebnis liegt unter 16 und bildet daher die erste Stelle der Hexzahl.

Das letzte Ergebnis und alle Restwerte, vom letzten bis zum ersten aufgeschrieben, ergeben den hexadezimalen Wert 5DE0.

Es kann sein das mir Fehler unterlaufen sind, aber ich glaubs nicht
Ulraich ist offline   Mit Zitat antworten
Alt 18.04.2002, 18:28   #5
fluidnet
Jr. Member
 
Registriert seit: 05.02.2002
Beiträge: 33


Standard

vielen dank für eure ausführlichen beiträge. mal sehn ob ichs jetzt kapiere.

lg
fluidnet ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 03:47 Uhr.


Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Forum SEO by Zoints
© 2009 FSL Verlag