011
03.12.2004, 21:10 Uhr
Hans
Library Walker (Operator)
|
Zitat von ~score: |
Ursprünglich hatte ich daran gedacht, eine eigene Repräsentation eines mindestens 500bit langen Wortes zu implementieren. Diese sollte auf mehrerern nativen 32bit Wörtern basieren, die sich zusammen als ein z.B. 512bit Wort verhalten. Dazu müssten dann die bit-Operationen überladen werden. Hat jemand eine Idee, wie man das optimal umsetzten könnte?? Oder gibt es bessere Vorschläge? Ein derartiges Wort passt dann natürlich nicht mehr in ein Prozessorregister, was die Effizienz wohl negativ beeinflussen sollte. Fragen über Fragen, aber eine wirklich gute Idee habe ich bisher nicht...
Grüße
|
Hi, eine bessere Idee hab ich dazu auch nicht. Ich würde dieses 512 bit lange Wort als Array implementieren, und die einzelnen Operationen in einer Schleife vom LSB zum MSB hin. Ich erinnere mich, das die Integerarithmetik auf 8-Bit-Prozessoren genau so realisiert wurde. Die Performance hängt wohl vom Prozessor ab. Bei einem 32-Bit Pro könnten unsigned int's eine bessere Lösung sein, als unsigned char's. Aber musst Du ausprobieren. Wenn Du es kannst, kannst Du die Rechenschleifen ja auch direkt in Assembler schreiben, das spart u.U. ein paar umständliche C-Konstrukte, weil man direkten Zugiff auf's Carryflag hat.
Hans -- Man muss nicht alles wissen, aber man sollte wissen, wo es steht. Zum Beispiel hier: Nachdenkseiten oder Infoportal Globalisierung. Dieser Post wurde am 03.12.2004 um 21:14 Uhr von Hans editiert. |