Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Reelle Zahlen in anderer Basis schreiben (https://www.delphipraxis.net/25270-reelle-zahlen-anderer-basis-schreiben.html)

Shaman 3. Jul 2004 22:05


Reelle Zahlen in anderer Basis schreiben
 
Hallo zusammen

Wie lassen sich Zahlen mit Nachkommastellen in der 256-Basis schreiben? Diese Zahlen liegen als Strings vor, können also beliebig lang sein. Ich schreibe nämlich an einer Unit, die das Rechnen mit beliebig grossen Zahlen ermöglichen soll. Mit Zahlen ohne Nachkommastellen habe ich keine Probleme, aber eben... :?
Ich dachte mir, man müsste in der neuen Basis die Position des Kommas festhalten, aber wie berechne ich diese?

Gruss
Shaman

Christian Seehase 3. Jul 2004 23:27

Re: Reelle Zahlen in anderer Basis schreiben
 
Moin Shaman,

die erste Nachkommastelle wäre 1/256 einer 1, die zweite dann 1/(256*256), die dritte 1/(256*256*256) usw.

Nichts gegen Dein mathematisches Interesse, aber was bringt eine Basis 256?
Jeder der damit umgehen soll, müsste also 256 Zeichen unterscheiden können, und entweder in der Lage sein, direkt damit rechnen zu können, oder es sich immer "on the fly" zu Basis 10 umrechnen.

Wir hatten schon einmal eine ähnliche Diskussion zum Thema Basis 64.

Wenn schon mit beliebig grossen Zahlen gearbeitet werden soll, warum dann nicht zur Basis 10?

Shaman 4. Jul 2004 01:02

Re: Reelle Zahlen in anderer Basis schreiben
 
Weil damit intern viel effizienter gerechnet werden kann. Jeder Integer wird ja eigentlich im Speicher in der 256-Basis dargestellt, wenn mans byteweise betrachtet.

StefanDP 4. Jul 2004 13:54

Re: Reelle Zahlen in anderer Basis schreiben
 
wird das nicht sowieso schon automatisch optimiert? :gruebel:

Shaman 4. Jul 2004 14:04

Re: Reelle Zahlen in anderer Basis schreiben
 
Aber nicht, wenn man die numerischen Strings stellenweise zusammenrechnet. Da eine Zahl in der 256-Basis weniger Stellen hat als im Dezimalsystem, geht das viel schneller. Nur leider bin ich immer noch nicht gross weitergekommen :(


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:21 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz