Registriert seit: 30.01.2015
Version(en): 2013
Ich gehe davon aus dass Du Grundkenntnisse haben solltest? Oder warum dann der Prüfungsbogen? Mit der Funktion BININHEX() kannst Du das doch selbst umwandeln wenn du es im Kopf nicht schaffst, und da ergibt 1100 nunmal C. Hexzahlen bestehen aus 16 Zeichen von 0-F, C repräsentiert die Dezimalzahl 12. Die 1100 ergibt 1*2^3 + 1* 2^2 +0*2^1 +0*2^0 = 8+4+0+0 und das ist auch 12. C = 12*16^0 = 12. Die (Hex)Zahlen werden so wie berechnet aneinandergereiht wie oben gezeigt, von links nach rechts. Das funktioniert deshalb weil 4Bit genau einer Hexziffer entsprechen.
0111-1100-0011 0001-0001-0001 = 1*2^8 + 1*2^4 + 1*2^0 = 256+16+1 = 273
7 C 3 1 1 1 = 1*16^2 + 1*16^1 + 1*16^0 = 256+16+1 = 273
Natürlich kann Dein Unverständnis meiner Erklärungen auch daran liegen dass ich kein guter Erklärbär bin aber mit den ebenfalls gezeigten Beispielen und den genannten Grundkenntnissen hätte es doch eigentlich klappen sollen
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
09.05.2015, 05:43
(Dieser Beitrag wurde zuletzt bearbeitet: 09.05.2015, 05:53 von schauan.)
Hallöchen,
mal noch was zum negativen Vorzeichen. In der Aufgabenstellung wurde nichts vergessen. In der Wiki ist die Vorgehensweise ja ganz gut beschrieben, wenn man weiß, dass es um eine negative Zahl geht - das steht ja in der Aufgabe. Etwas steht allerdings nicht im verlinkten Beitrag. Da der PC nur mit 0 und 1 umzugehen weiß und kein 3. "-" - bit kennt, gibt es neben den Werteregistern noch ein Statusregister, in welchem u.a. das Vorzeichen festgelegt wird. Das hat aber auch mehr als zwei Stellen.
Für die größeren Zahlen gibt es bei Excelformeln eine entsprechende. Den dort beschriebenen Grenzwert von 32767 kann man durch Setzen eines Hochkommas vor die Binärzahl umgehen. Allerdings weiß die Formel nichts mit den beiden weiter oben genutzten Vorzeichen - Einsen anzufangen, die rechnet einfach weiter. Da muss man Excel auch mitteilen, dass es sich um eine negative Zahl handeln soll.
Hier mal der Ansatz. Die Spalte mit dem Invertieren ist nur mal als zusätzliches Beispiel und für die Lösung mit Hilfe der "Excelformeln" nicht nötig. Als Flag für das negative Vorzeichen hab ich in Spalte B eine 1 gesetzt - Eselbrücke - Vorzeichen hab ich in dem Fall eins

Im Gegensatz zu einem "-" lässt sich mit der "1" gleich direkt in der Formel in Spalte C rechnen.
Arbeitsblatt mit dem Namen 'Tabelle1' |
| A | B | C | D |
1 | Binär | Vorzeichen | Ergebnis | Invertieren |
2 | 11111100 | | 252 | |
3 | 11111100 | 1 | -4 | 00000011 |
Zelle | Formel |
C2 | =SUMMENPRODUKT(LINKS(RECHTS("0"&A2;SPALTE(A:Z)))*2^(-1+SPALTE(A:Z)))-(SUMMENPRODUKT(LINKS(RECHTS("0"&WECHSELN(A2;0;1);SPALTE(A:Z)))*2^(-1+SPALTE(A:Z)))+1)*B2 |
C3 | =SUMMENPRODUKT(LINKS(RECHTS("0"&A3;SPALTE(A:Z)))*2^(-1+SPALTE(A:Z)))-(SUMMENPRODUKT(LINKS(RECHTS("0"&WECHSELN(A3;0;1);SPALTE(A:Z)))*2^(-1+SPALTE(A:Z)))+1)*B3 |
D3 | =WECHSELN(WECHSELN(WECHSELN(A3;1;"#");0;1);"#";0) |
Diese Tabelle wurde mit Tab2Html (v2.5.0) erstellt. ©Gerd alias Bamberg |
. \\\|/// Hoffe, geholfen zu haben.
( ô ô ) Grüße, André aus G in T
ooO-(_)-Ooo (Excel 97-2019+365)
Registriert seit: 11.10.2014
Version(en): 12/2007&14/2010
In der Aufgabenstellung war tatsächlich alles Notwendige angegeben, Leute,
und André hat auch auf Wikipedia verwiesen, Stichwort Zweierkomplement. Excels BININDEZ rechnet mit Vorzeichenerweiterung auf 10 Stellen, d.h., bei einer negativen Zahl muss die führende 1 in die 9. und 10.Stelle (von rechts) übernommen werden, sonst kommt es zu einem falschen Ergebnis. Demgegenüber geht VBA von 8 signifikanten Stellen aus, wobei man - wie auch bei BININDEZ - Vornullen weglassen kann, die deshalb automatisch ergänzt werden, um die Stellenzahl 8 bzw 10 zu erreichen. Damit ist dann auch gleich die Grenze erreicht, für die die jeweiligen Funktionen ausgelegt sind.
Bei Bedarf müssen größere Zahlen mit adäquaten Verfahren, wie bereits vorgeschlagen, behandelt werden.
Gruß, Castor
Registriert seit: 17.04.2014
Version(en): MS Office 365(32)
Hallo,
hier gibt es entsprechende UDF´s:
BinärumwandlungenHexadezimalumwandlungenGruß Uwe