Integer zu klein
Übersicht

![]() |
AMYBetreff: Integer zu klein |
![]() Antworten mit Zitat ![]() |
---|---|---|
wie kann man eigentlcih mit zahlen rechnen die grösser sind als integer es erlaubt. Muss man sich adfür Funktionrn schreiben, oder gibt es noch einen anderen weg? | ||
Projekte: www.amyscbi.de
I never comment my sourcecode. What's HARD to write must be HARD to read! |
![]() |
Bud |
![]() Antworten mit Zitat ![]() |
---|---|---|
Floats können mehr Daten speichern, sie haben ein Minimum von 1.17549e-38
und ein Maximum 3.40282e+38, sind aber bei berechnung langsamer als Integer. Sag mal, wofür brauchst du so große Zahlen xD |
||
- Zuletzt bearbeitet von Bud am Sa, Jun 10, 2006 12:17, insgesamt einmal bearbeitet
![]() |
AMY |
![]() Antworten mit Zitat ![]() |
---|---|---|
will möglichkeiten berechnungen durchführen und bei floats ist dabei das problem das dieses e+38 mit nullen und dan 38 angehangen wird, ist also ungenau. | ||
Projekte: www.amyscbi.de
I never comment my sourcecode. What's HARD to write must be HARD to read! |
![]() |
PowerProgrammer |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich dachte, Floats können genauso viel speichern, die haben doch auch 4 Bytes, genau wie Ints ![]() ![]() ![]() Wenn man größere Zahlen benötigt, müsste man am Besten mehrere Variablen kombinieren. So, das eine Variable den Low-Teil ausmacht, und die andere, den High-teil. Ich glaube, das kann man aber kaum effektiv umsetzen... |
||
![]() |
AMY |
![]() Antworten mit Zitat ![]() |
---|---|---|
dann müsste ich aber ganz schön viele variablen kombinieren, denn ich muss hierbei mit dieser zahl rechnen 9^81 kionnte mir bisher nur ein rechner die ganze zahl anzeigen. der von windows powertoys. der kann mit 512 stellen rechnen. | ||
Projekte: www.amyscbi.de
I never comment my sourcecode. What's HARD to write must be HARD to read! |
![]() |
PowerProgrammer |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich denke, soetwas ginge mit Assembler. Da kombiniert man dauernd irgendwelche Register...
Aber sowas mit BB??? Ich glaube nicht. Ich denke, da kommst du nicht um eine außer-BB-liche Lösung herum! |
||
![]() |
AMY |
![]() Antworten mit Zitat ![]() |
---|---|---|
was war noch mal ein assembler? der compilöiert doch nur ein programm oder egal in welcher sprache?
welche außer bb-liche lösungen stehen denn zur verfügung? kann keine anderen programmier sprachen. kann man mit bb auf tasks zugreifen? wenn dann könnte man ja vielleicht auf den powertoy rechner zugreigen und ihn über bb steuern. kennt sich da jemand aus? |
||
Projekte: www.amyscbi.de
I never comment my sourcecode. What's HARD to write must be HARD to read! |
![]() |
PowerProgrammer |
![]() Antworten mit Zitat ![]() |
---|---|---|
Assembler ist die Maschinensprache. Man gibt direkt Prozessorbefehle ein, die kurze Befehle sind. Bei höheren Programmiersprachen (BB etc.) bestehen die Funktionen aus Maschinencodezusammenstellungen, in denen gaaaanz viele Maschinenbefehle zusammengefaßt sind.
Naja, ist vielleich etwas blöd erklärt... |
||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Es gab schon öfter mal dieAnfrage nach Programmen die mit größeren Zahlen rechnen. Machbar ist das durchaus, und es kann auch sein dass per Forensuche was zu finden ist (Ich erinnere mich düster dran das Rallimen mal was erstellt hatte...).
@Powerprogrammer: Floats haben auch nur 4 byte, stimmt. Aber da sie per Mantisse speichern ist ihr Gültigkeitsbereich wesentlich größer. Der Nachteil ist, wie schon beschrieben, dass sie große Zahlen nur sehr ungenau wiedergeben können. EDIT: https://www.blitzforum.de/foru...156#149156 |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
![]() |
AMY |
![]() Antworten mit Zitat ![]() |
---|---|---|
das heisst ich könnte mit einem assembler direkt prozessor befehle nehmen und berechnen lassen und sie dann wieder in einem textstring speichern? | ||
Projekte: www.amyscbi.de
I never comment my sourcecode. What's HARD to write must be HARD to read! |
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wie meinen ? | ||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
![]() |
AMY |
![]() Antworten mit Zitat ![]() |
---|---|---|
wie schon gesagt ich muss 9^81=196627050475552913618075908526912116283103450944214766927315415537966391196809
rechnen und dieses ergebnis benötige ich für eine schleife die später kommt dann muss ich es sogar nochmal mit 81 multiplizieren |
||
Projekte: www.amyscbi.de
I never comment my sourcecode. What's HARD to write must be HARD to read! |
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
siehe den link oben. die zahl muss als string vorliegen, und das ergebnis ist auch ein string. Du musst eben alle berechnungen die damit zu tun haben auf Strings umstellen. | ||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
![]() |
Triton |
![]() Antworten mit Zitat ![]() |
---|---|---|
Joa, Rallimen hat mal sowas geschrieben.
Wie auch immer, ich selbst schreibe auch schon an sowas und versuche es noch schneller zu machen, was mir bisher bei den meisten Funktionen auch gelang (Potenzen kann ich z.B ungleich schneller ermitteln ![]() Trotzdem habe ich noch einige (wirklich hartnäckige ![]() Potenzen wie 9^81 sind da noch ein Kinderspiel. Theoretisch kann man damit Zahlen bis 10^2^31 verarbeiten (also eine Zahl mit 2^31 Stellen), auch wenn jede Rechenoperation bei sowas ganz schön lange dauern würde.. |
||
Coding: silizium-net.de | Portfolio: Triton.ch.vu |
![]() |
Der Wanderer |
![]() Antworten mit Zitat ![]() |
---|---|---|
Natürlich kann man sowas in Basic implementieren.
Wer es in Basic nicht hinbekommt, sollte Assembler erst gar nicht versuchen! Wir alle Erinnern uns an die Grundschule, wo man längere Dezimalzahlen multipliziert und addiert hat. (oder war es Anfang Gymnasium ?) Genauso kann man es auch implementieren, also schön Stelle für Stelle mit Übertrag, und das ganze als eine Zeichenkette speichern und abarbeiten. Ist nicht besonders effizient, aber für 9 hoch 81 sollte es reichen. Oder kommt es auf Geschwindigkeit an ? Ich hoffe, das soll nicht die Anzahl der Schleifendurchläufe werden ![]() |
||
![]() |
DerHase |
![]() Antworten mit Zitat ![]() |
---|---|---|
Huch ich hab vergessen zu posten was ich neulich nachts kurz gecodet hab. Es ist nicht die Lösung Deines Problems, aber es zeigt Dir vielleicht wie Du eine Zahl in mehreren Variablen speichern kannst.
Here we go: Code: [AUSKLAPPEN] Graphics 640,480,0,2 Global fntArial=LoadFont("Arial",24,False,False,False) SetFont fntArial Color 0,255,0 Global a = 0 Global b = 0 Global c = 0 While Not KeyHit(1) a = a + 1 If a = 100000 a = 0 b = b + 1 End If If b = 100000 b = 0 c = c + 1 End If If c = 100000 c = 0 End If ;Dieser Teil ist von Tobi, er dient dazu, dass die Nullen einer Zahl mit angezeigt werden atxt$ = Replace$(RSet$(Str$(a), 5), " ", "0") btxt$ = Replace$(RSet$(Str$(b), 5), " ", "0") ctxt$ = Replace$(RSet$(Str$(c), 5), " ", "0") Text 130,10,atxt Text 70,10,btxt Text 10,10,ctxt Flip 0:Cls Wend Ausserdem könnte Dir dieser Thread weiter helfen. Da hab ich irgendwo nen Code reingeschrieben, dieser ist eigentlich ein Dual-System zähler, also 0 und 1. Dieses Beispiel könnte ne Zahl von 2^2500 darstellen, aber es lässt sich nach belieben erweitern, schau es Dir mal an, vielleicht kriegst Du ne Idee für Dein Problem! |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group