Binärsytem
Übersicht

![]() |
HummelpupsBetreff: Binärsytem |
![]() Antworten mit Zitat ![]() |
---|---|---|
Guten Tag, da meine Freundin nun 11. Klasse
macht und Informatik gewählt hat habe ich mir auch wieder mal sorgen übers Binärsystem, Heyzahlen und so weiter sorgen gemacht. Kann mir einer sagen, wie ich Binäre Zahlen durch eine Rechnung in dezimalzahlen verwandle oder muss ich das wirklich abzählen so wie ich es hier unten gemacht habe? Subtraktion und so ist ja nicht soo das Problem. Sehts euch einfach mal an. 0000 0 0001 1 0010 2 0011 3 0100 4 0101 5 0110 6 0111 7 1000 8 1001 9 1010 10 1011 11 1100 12 1101 13 1110 14 1111 15 1111 (15) 1010 (10) ____ - 0101 (5) BiZaR |
||
![]() |
rambo256 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also binär in dezimal geht so:
die letzte stelle steht immer für 2^0 dann geht das immer so weiter,die vorletzte für 2^1,die davor 2^2,usw. Wenn man dann z.b. eine Binärzahl hat: 0 1 0 1 dann wird das so gemacht: 2^3 2^2 2^1 2^0 0 + 4 + 0 + 1 = 5 |
||
Asus F53z
Das Leben ist eine reine Konkatenation... |
![]() |
DivineDominion |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hmm, in gewisser Weise "abzählen", ja...
Du weißt ja, dass sich, je weiter die 1 nach links rückt, der Wert zur Stelle weiter rechts verdoppelt. gibt da bestimmt eine Rechnung für, den Dezimalwert der Stelle zu errechnen. Schon rumprobiert oder bei Google nach einer Formel gesucht? Edit: Zu spät ![]() |
||
christian.tietze@gmail.com - https://christiantietze.de
macOS |
Ballermann99 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich hatte vor kurzem nen Lehrgang da haben wir das auch noch mal gemacht.
Zitat: Von links ausgehend multipliziert man die erste Stelle der Dualzahl mit 2, addiert die nächste Stelle (0 oder 1) und multipliziert wieder mit 2 usw.
Beispiel: 10101 1*2=2 2+0=2 2*2=4 4+1=5 5*2=10 10+0=10 10*2=20 20+1=21 10101 entspricht also 21. Gruß Ballermann99 |
||
![]() |
Sebastian |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich hab mir ne function gecodet die die Zahlen umwandelt ...... | ||
![]() |
Hummelpups |
![]() Antworten mit Zitat ![]() |
---|---|---|
und in meiner is noch nen Fehler drin, den ich nich finde -.-
Code: [AUSKLAPPEN] Graphics 800,600,16,2
Dim tmp_zahl(100) Print "[1] Binär nach Dezimal" Repeat If KeyHit(2) Then eingabe=Input("Binärstring eingeben: "):Print binaer_dezimal(eingabe):Exit Until KeyHit(1) Function binaer_dezimal(tmp_String) Print "Umwandlung beginnt..." stringlength=Len(tmp_string) Print "Länge des Strings: "+stringlength For steps=1 To stringlength-1 tmp_zahl(steps)=Mid(tmp_string,steps,1) Next For steps=stringlength-1 To 1 Step -1 tmp=tmp+(tmp_zahl(stringlength-steps)*2)^steps Next Return tmp End Function |
||
![]() |
HolzchopfMeisterpacker |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hmm... den Fehler find' ich auch grad nicht, liegt aber daran, dass ich geistig ziemlich müde bin, im Moment...
Aber das hier funktioniert: Code: [AUSKLAPPEN] Graphics 800,600,16,2 Dim tmp_zahl(100) Print "[1] Binär nach Dezimal" Repeat eingabe=Input("Binärstring eingeben: ") Print binaer_dezimal(eingabe) Until KeyHit(1) End Function binaer_dezimal(tmp_String) Print "Umwandlung beginnt..." stringlength = Len(tmp_string) Print "Länge des Strings: "+stringlength For steps = stringlength To 1 Step -1 tmp = tmp + Int(Mid( tmp_String, steps, 1 )) * ( 2 ^ ( stringlength - steps ) ) Next Return tmp End Function Du musst einfach das Bit multiplizieren - und zwar mit 2 hoch (Stelle - 1) ![]() Zum besseren Verständnis, hier die Multiplikationstabelle: Code: [AUSKLAPPEN] 256 128 64 32 16 8 4 2 1 2^8 2^7 2^6 2^5 2^4 2^3 2^2 2^1 2^0 In der oberen Reihe die Faktoren und unten, wie man logisch und schnell zu den Faktoren kommt. MfG |
||
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BY ♫ BinaryBorn - Yogurt ♫ (31.10.2018) Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm |
![]() |
Sebastian |
![]() Antworten mit Zitat ![]() |
---|---|---|
Meine funtz so ählich ......... | ||
Seit 2 Jahren kein BlitzBasic und kein Windows mehr, und stolz darauf ! |
Ballermann99 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Code: [AUSKLAPPEN] Graphics 800,600,16,2
Print "[1] Binär nach Dezimal" Repeat eingabe=Input("Binärstring eingeben: "):Print binaer_dezimal(eingabe) Until KeyHit(1) Function binaer_dezimal(tmp_String$) Print "Umwandlung beginnt..." str_len = Len(tmp_string$) Print "Länge des Strings: " + str_len For i = 1 To str_len If i = str_len Then tmp = (tmp + Int(Mid(tmp_String$, i, 1))) ; Nach der letzten Stelle kommt keine weitere. Deshalb nicht mal 2 rechnen Else tmp = (tmp + Int(Mid(tmp_String$, i, 1)))*2 End If Next Return tmp End Function So würde die Methode funzen, die ich oben beschrieben hab. In BB kannst du Binärzahlen auch direkt umwandeln. Du musst nur ein % vor den Wert schreiben. Funzt aber glaub ich nicht mit Variablen. Gruß Ballermann99 |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group