Tabellenkalkulation für HEX-Zahlen

  • Gibt es eigentlich ein Programm in Art einer Tabellenkalkulation, das mit HEX-Zahlen rechnen kann?

    Also was ich mir vorstelle, ist

    1. die Zahlen direkt im HEX-Format eingeben, ohne sie umrechnen zu müssen,

    2. Rechenoperationen der x86-Assemblersprache wie SHL, SHR, AND, OR, XOR, ADD, SUB, TEST, CMP... darauf anwenden,

    3. das Ergebnis wieder im HEX-Format erhalten,

    damit ich so was nicht jedesmal von Hand rechnen muß:

    (lästig ;))

    Ich werde mich von keinem einzzzigen Prozzzessor trennen.
    Jedoch lockt es mich beinahe, ihn Dir zu überlassen, nur um zu sehen, wie er Dich in den Wahnsinn treibt :evil:

    Meine Begehren

  • Was du willst sind Funktionen. z.B. für die Darstellung von hexadezimalen / dezimalen Zahlen Funktionen wie HEX2DEC() und DEC2HEX(), für Bitshifting Dinge wie BITRSHIFT() & BITLSHIFT().

    Folgende Funktion würde z.B. die dezimale Zahl 15 um zwei Bits right-shiften und das Ergebnis als hexadezimale Zahl ausgeben: DEC2HEX(BITRSHIFT(15; 2))

    Dann gibt's auch noch BITAND() und dergleichen.

    Also ich finde das höchst pervers und entartet, aber hey, gehen sollte das schon! :spitze:

    Sowohl Microsoft Excel wie auch das freie LibreOffice Calc können mit diesen Funktionen arbeiten.

    1-6000-banner-88x31-jpg

    Stolzer Besitzer eines 3dfx Voodoo5 6000 AGP Prototypen:

    • 3dfx Voodoo5 6000 AGP HiNT Rev.A-3700

    [//wp.xin.at] - No RISC, no fun!

    QotY: Girls Love, BEST Love; 2018 - Lo and behold, for it is the third Coming; The third great Year of Yuri, citric as it may be! Edit: 2019 wasn't too bad either... Edit: 2020... holy crap, we're on a roll here~♡!

    Quote Bier.jpg@IRC 2020: "Je schlimmer der Fetisch, desto besser!"

  • Erst mal Vielen Dank, ich werd's mal ausprobieren.

    EDIT (noch vor dem Absenden ;))

    Also selbst wenn ich das Beispiel =DEC2HEX(100;4) von hier kopiere, spukt LibreOffice Calc 6.4.5.2 mir nur #NAME? aus. ?( Geht wohl erst mit Version 7???

    /EDIT

    Noch besser wäre natürlich, wenn man für die Zellen generell das Zahlenformat HEX einstellen könnte, damit man DEC2HEX nicht braucht, denn so muß ich erst alle HEX-Zahlen in Dezimalzahlen umrechnen, um sie dann wieder als HEX darstellen zu lassen. :steinigung:

    GrandAdmiralThrawn Und was das Perverse betrifft: Die Berechnung in blau stammt von einem Referenzbios, die in rot ist die analoge dazu mit dem BIOS, das ich mal von Dir gezogen habe. ^^

    Ich werde mich von keinem einzzzigen Prozzzessor trennen.
    Jedoch lockt es mich beinahe, ihn Dir zu überlassen, nur um zu sehen, wie er Dich in den Wahnsinn treibt :evil:

    Meine Begehren

    Einmal editiert, zuletzt von Lotosdrache (18. Januar 2021 um 20:51)

  • Ich habe noch LibreOffice 5.4.7.2 hier, also das kann's nicht sein. Ich habe dein Beispiel grade einfach kopiert und bei mir in den Formeleditor von Libreoffice Calc eingefügt, und es funktioniert sofort, trotz meiner Uraltversion.

    Funktionen wirst aber brauchen, weil nativ war Tabellenkalkulation für so einen speziellen Fall der Computerwissenschaften nie gedacht. Ist ja eine Software mit der man lustige Tortendiagramme aus Fakedaten erzeugt, um Schlipsträger zu beeindrucken. Nicht um Binärarithmetik auszuführen und hexadezimal darzustellen. :spitze:

    1-6000-banner-88x31-jpg

    Stolzer Besitzer eines 3dfx Voodoo5 6000 AGP Prototypen:

    • 3dfx Voodoo5 6000 AGP HiNT Rev.A-3700

    [//wp.xin.at] - No RISC, no fun!

    QotY: Girls Love, BEST Love; 2018 - Lo and behold, for it is the third Coming; The third great Year of Yuri, citric as it may be! Edit: 2019 wasn't too bad either... Edit: 2020... holy crap, we're on a roll here~♡!

    Quote Bier.jpg@IRC 2020: "Je schlimmer der Fetisch, desto besser!"

  • Könnte an der Sprache liegen (kein Witz). Ein englisches MS Office versteht keine deutschen Formelbegriffe (z.B. SUM gegen SUMME etc.).

    Versuch mal DEZINHEX anstelle von DEC2HEX, eigentlich sollten aber alle lokalisierten Office Produkte mit den englischen Begriffen umgehen können, wie das bei LibreOffice ist weiss ich jedoch nicht.

  • Ajo, stimmt ja! Ich vergesse das immer, guter Hinweis. Ein weiterer Grund warum Tabellenkalkulationsprogramme so wie wir sie heute kennen eine entstellte Ausgeburt Satans sind...

    In LibreOffice Calc kann man wenigstens in die Einstellungen gehen und diesen Punkt suchen (in der jeweiligen Landessprache halt):

    LibreOffice Calc \ Formula -> Checkbox "Use English function names".

    Solange das jeder anhakt, sind Tabellen zwischen Systemen mit unterschiedlichen Spracheneinstellungen portierbar. Standardmäßig ist die Box natürlich nicht angehakt. :mauer: Bei Microsoft Office weiß ich nicht, ob es sowas gibt.

    1-6000-banner-88x31-jpg

    Stolzer Besitzer eines 3dfx Voodoo5 6000 AGP Prototypen:

    • 3dfx Voodoo5 6000 AGP HiNT Rev.A-3700

    [//wp.xin.at] - No RISC, no fun!

    QotY: Girls Love, BEST Love; 2018 - Lo and behold, for it is the third Coming; The third great Year of Yuri, citric as it may be! Edit: 2019 wasn't too bad either... Edit: 2020... holy crap, we're on a roll here~♡!

    Quote Bier.jpg@IRC 2020: "Je schlimmer der Fetisch, desto besser!"

  • Ich wüsste nicht, ob es bei MS Office sowas gibt. Was ich aber weiss ist, dass jedes MS Office (aus meiner Erfahrung getestet mit deutsch und französisch) die englischen Formelbegriffe versteht.

    Aber ja, das ist eine üble Sache und hat mich schon enorm genervt. Das war mitunter auch der Grund, wieso bei meinem letzten Arbeitgeber in meinem Team niemand mehr die deutsche Office Version erhalten hat (Standard war sowieso englisch).

  • Okay, mit den lokalisierten Befehlsnamen funktioniert's nun. Vielen Dank.

    Man sollte noch erwähnen, daß, wenn die HEX-Zahlen auch Buchstaben enthalten, man das Argument in Anführungsstriche setzen muß also =HEXINDEZ("1A0000"). Ansonsten wird es wohl als Zellenadresse interpretiert und eine Korrektur von z. B. 1Ch nach C1 vorgeschlagen. :rolleyes:

    So wie es aussieht, können manche dieser Befehle , z. B. BITLSHIFT, auch nur mit Zahlen kleiner als 100_0000_0000h rechnen. :rolleyes:

    Daher ist die Rechenvorschrift in Zeile 7 deutlich komplizierter geworden als geplant. Ich mußte erst mittels BITAND nullen, was wegfällt, bevor ich die Zahl mittels BITLSHIFT um 1Ch verschieben konnte.

    Und in Zeile 13 wurde nicht F0h logisch verknüpft, sondern FFFF_FFF0h, da ich leider keine Funktion gefunden habe (eigentlich hab ich gar nicht gesucht, weil's mir jetzt schon zu umständlich ist ;)), welche die höheren Bytes schützen kann.

    Alles in allem ist das doch etwas umständlich :rolleyes:, aber immer noch besser und weniger fehleranfällig als das Rechnen von Hand.

    Und da für beide BIOSe bisher die gleichen Ergebnis rauskommen, wie ich sie schon von Hand ausgerechnet habe, bin ich erst mal zufrieden. :) Oder wie wir Franken sagen:

    Nicht ganz unzufrieden. :D

    Ich werde mich von keinem einzzzigen Prozzzessor trennen.
    Jedoch lockt es mich beinahe, ihn Dir zu überlassen, nur um zu sehen, wie er Dich in den Wahnsinn treibt :evil:

    Meine Begehren

    Einmal editiert, zuletzt von Lotosdrache (19. Januar 2021 um 18:17)

  • Er bildet x86 Assembler inkl. Bitoperationen in Excel ab. Irgendwie pack' ich das immer noch nicht so ganz.

    Da müßte ich mir irgendwie alle 10 Minuten die Hände waschen gehen, um dieses Gefühl des Befleckt-Seins wieder wegzubekommen... :spitze:

    1-6000-banner-88x31-jpg

    Stolzer Besitzer eines 3dfx Voodoo5 6000 AGP Prototypen:

    • 3dfx Voodoo5 6000 AGP HiNT Rev.A-3700

    [//wp.xin.at] - No RISC, no fun!

    QotY: Girls Love, BEST Love; 2018 - Lo and behold, for it is the third Coming; The third great Year of Yuri, citric as it may be! Edit: 2019 wasn't too bad either... Edit: 2020... holy crap, we're on a roll here~♡!

    Quote Bier.jpg@IRC 2020: "Je schlimmer der Fetisch, desto besser!"

  • :topmodel:

    Tja, außer ein paar Unterrichtsstunden gwbasic in der 6. Klasse anno 1989 (oder war's erst in der 7. oder 8. :/) und ein bißchen TurboPascal in der 9., wozu wir den jeweiligen Mathelehrer aber immer erst überreden mußten und wo nur unterrichtsrelevantes Zeug drankam (bei 2 bekannten den fehlenden Innenwinkel eines Dreiecks berechnen, Lösen einer quadratischen Gleichung und so was), aber keine größeren Dinge wie bewegte Grafiken, und ein bißchen Experimentieren zu Hause (Punkteverteilung beim Stufenanstieg in AD&D und DSA berechnen), hab ich halt mit Programmieren nicht viel am Hut. Nicht mal eine Skriptsprache... :(

    Genial wäre es halt, wenn man einen Disassembler hätte, wo man den Startpunkt samt Registerwerte festlegen könnte (was wohl bei ghidra gehen könnte, aber so genau hab ich da jetzt noch nicht geschaut :/), dann die Codezeilen anklicken könnte, die er nacheinander abarbeiten soll, und nebendran spukt er die Inhalte der Register und Zustände der Flags aus. Leider hab ich ein solches Programm aber noch nicht gefunden. :rolleyes:

    Daher ist das alles eben viel Fleißarbeit, aber ich lerne jedesmal ein bißchen was dazu. Die grauen Zellen rauchen und manches verstehe ich erst nachts in der Zwangspause - teilweise ein paar Tage/Wochen/Monate später. :S

    Ich werde mich von keinem einzzzigen Prozzzessor trennen.
    Jedoch lockt es mich beinahe, ihn Dir zu überlassen, nur um zu sehen, wie er Dich in den Wahnsinn treibt :evil:

    Meine Begehren