Autor Beitrag
theChaoS
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 38



BeitragVerfasst: So 19.04.09 12:35 
Hallo alle zusammen ich habe mal wieder ein blödes Problem

ich versuche ein Binärzahl darzustellen die den Extended rahmen soweit sprengt das ab und zu Extended auf die dolle Idee kommt mir Wissenschaftliche Notation auszugeben die natürlich mein System nicht mag ^^
also gibt es da noch irgend etwas
P.S. Uint64 hab ich schon ausprobiert aber da kommt manchmal Schwachsinn raus (z.b. wird die zahl zu 9,435656744676 warum auch immer ;D).

P.S. Kann man Extended dazu bewegen unsinged zu werden ?



Moderiert von user profile iconmatze: Die Rechtschreibung des Wortes Biner in Binär korrigiert und andere (recht viele) Rechtschreibfehler korrigiert damit der Beitrag lesbar wird.
Moderiert von user profile iconNarses: Topic aus Sonstiges (Delphi) verschoben am So 19.04.2009 um 13:48
Timosch
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 1314

Debian Squeeze, Win 7 Prof.
D7 Pers
BeitragVerfasst: So 19.04.09 13:02 
1.) Ob die Zahl binär ist, oder nicht, ist doch vollkommen egal. Intern sind alle Zahlen binär
2.) Wieso mag dein System keine wissenschaftliche Notation? Wie meinst du das?
3.) Bitte was? UInt64 ergibt bei dir Kommazahlen? Das ist technisch unmöglich...
4.) Nein, AFAIK gibt es nur Ganzzahlen als unsigned.
5.) Wenn die Zahl ganzzahlig ist, dann such mal hier im Forum nach BigNum2 (so hieß das glaub ich). Das könnte was für dich sein.
6.) Wie groß sind die Zahlen denn?
7.) Kommas und andere Satzzeichen würden es uns erleichtern, deinen Beitrag zu verstehen...

_________________
If liberty means anything at all, it means the right to tell people what they do not want to hear. - George Orwell
Hidden
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2242
Erhaltene Danke: 55

Win10
VS Code, Delphi 2010 Prof.
BeitragVerfasst: So 19.04.09 13:15 
Hi :)

Was genau verträgt die Exponentialschreibweise nicht(das System würde ich jetzt auch mal ausschließen :))? Extended ist grundsätzlich so aufgesetzt, dass Größenordnung und Genauigkeit getrennt behandelt werden.

D.h., du hast beispielsweise 1,439 * 10^5. Das entspricht dann 143900, also einer Größenordnung von 5 Dezimalstellen, um die das Komma verschoben werden muss(wie der Exponent der 10 angibt).

Der Vorteil ist ganz einfach, dass damit unvorstellbar große Zahlen um 10^100 = 100..(96 Nullen)..00 noch darstellbar sind, genauso aber unvorstellbar kleine wie 10^-100 = 0,00..(96 Nullen)..001.

Was verwendets du denn zur Zeit zur Ausgabe(hier wird wohl das Problem liegen), FloatToStr()? Welche Berechnugnen führst du denn genau durch, in welchem Bereich sollten die Zahlen also eigentlich liegen?

mfG,

_________________
Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)
theChaoS Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 38



BeitragVerfasst: So 19.04.09 15:08 
@ Timmosch
1.) Nein ich will ja Binäre Zahlen verabeiten und die dafür geschaffene Proceduren mögen nur 1 sen oder 0 len ^^
2.)Naja wissenschaftliche dotationen mögen die Proceduren auch nicht
3.)Ja ist es. Und ja irgenwie krig ich ne Zahl raus die am ende als kommerzahl angezeigt wird wen ich den Wertebereich weit überschreibe
4.) Schade
5.) Probir ich mal aus.
6.) weis ich vor der verabeitung noch nicht. das maximale was kommen könnte is ca. 1,5 bis 2 Mal so gross wie Extended
7.)Ähhhhhhhhhh ja sorry was ist ein komma ??? ;D

@Hidden
Danke erstmal. Also die Zahl sieht z.b. so aus ' 111111111111111111111111 ' also 24 mal 1. oder 0. und denoch treten ernorme fehelr auf.

Frage: ist es möglich das konvertirungen (strtoint oder strtofloat oder sowas) nunja kürzen oder kommas dazudichten ???
Mitmischer 1703
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 754
Erhaltene Danke: 19

Win 7, Debian
Delphi Prism, Delphi 7, RAD Studio 2009 Academic, C#, C++, Java, HTML, PHP
BeitragVerfasst: So 19.04.09 15:08 
Such mal in der Delphi-Hilfe unter FloatToStrF

_________________
Die Lösung ist nicht siebzehn.
Timosch
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 1314

Debian Squeeze, Win 7 Prof.
D7 Pers
BeitragVerfasst: So 19.04.09 15:40 
user profile icontheChaoS hat folgendes geschrieben Zum zitierten Posting springen:
@ Timmosch
1.) Nein ich will ja Binäre Zahlen verabeiten und die dafür geschaffene Proceduren mögen nur 1 sen oder 0 len ^^

Na und? Intern ist alles 0 oder 1. Das hat auf die Zahl überhaupt keinen Einfluss. Das spielt erst bei der Ausgabe eine Rolle.
user profile icontheChaoS hat folgendes geschrieben Zum zitierten Posting springen:

2.)Naja wissenschaftliche dotationen mögen die Proceduren auch nicht

Und die Prozeduren sehen wie aus?
user profile icontheChaoS hat folgendes geschrieben Zum zitierten Posting springen:

3.)Ja ist es. Und ja irgenwie krig ich ne Zahl raus die am ende als kommerzahl angezeigt wird wen ich den Wertebereich weit überschreibe

Zeig mal bitte deinen Quelltext.
user profile icontheChaoS hat folgendes geschrieben Zum zitierten Posting springen:

6.) weis ich vor der verabeitung noch nicht. das maximale was kommen könnte is ca. 1,5 bis 2 Mal so gross wie Extended

Extended hat keine Maximalgröße. Die Genauigkeit leidet bloß bei sehr großen Werten.
user profile icontheChaoS hat folgendes geschrieben Zum zitierten Posting springen:

7.)Ähhhhhhhhhh ja sorry was ist ein komma ??? ;D

Sehr witzig.

_________________
If liberty means anything at all, it means the right to tell people what they do not want to hear. - George Orwell
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19346
Erhaltene Danke: 1754

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mo 20.04.09 05:15 
user profile iconTimosch hat folgendes geschrieben Zum zitierten Posting springen:
user profile icontheChaoS hat folgendes geschrieben Zum zitierten Posting springen:

6.) weis ich vor der verabeitung noch nicht. das maximale was kommen könnte is ca. 1,5 bis 2 Mal so gross wie Extended

Extended hat keine Maximalgröße. Die Genauigkeit leidet bloß bei sehr großen Werten.
Keine stimmt auch nicht, aber eine Eins mit knapp 5000 Nullen (1,1 mal 10^4950 oder so ist die höchste Zahl) wird ja wohl ausreichen...

Was die Genauigkeit angeht, das sind zwischen 10 und 20 Stellen, je nach Größe der Zahl. Bis 2^63-1 kann man auch ganz exakt mit allen Stellen mit Int64 rechnen.
alzaimar
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2889
Erhaltene Danke: 13

W2000, XP
D6E, BDS2006A, DevExpress
BeitragVerfasst: Mo 20.04.09 07:57 
user profile icontheChaoS hat folgendes geschrieben Zum zitierten Posting springen:
Also die Zahl sieht z.b. so aus ' 111111111111111111111111 ' also 24 mal 1. oder 0.
Ist das jetzt die Binärschreibweise, oder ist dir dieser Begriff genauso geläufig wie die Wörter 'Komma', 'Netiquette' und 'Höflichkeit'? :mrgreen:

Bezeichnet deine Zahl mit 24 Einsen also einhundertelf Trilliarden einhundertelf Trillionen einhundertelf Billiarden einhundertelf Billionen einhundertelf Milliarden einhundertelf Millionen einhundertelftausendeinhundertelf oder eher 16777215? Letzteres wäre nämlich das Dezimaläquivalent zu einer Binärzahl, die aus 24 Einsen besteht.

_________________
Na denn, dann. Bis dann, denn.
Timosch
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 1314

Debian Squeeze, Win 7 Prof.
D7 Pers
BeitragVerfasst: Mo 20.04.09 15:02 
Nochmals: Zeig mal bitte deinen Code. Irgendwas läuft hier ganz falsch...

_________________
If liberty means anything at all, it means the right to tell people what they do not want to hear. - George Orwell
theChaoS Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 38



BeitragVerfasst: Mo 20.04.09 18:34 
soo erstmal nochmal THX für die fielen antworten ;D
@alzaimar ist meine Netiquette wirklich so schlecht??? ;D Wen ja soory (mensch bin ich böse nicht mal das internet mag mich ;D)
nunja also ich habe das problem gefunden ^^

mein quelltext (ich nutze Delphi 7 und damit verbunden die Internet Socket Komponente (nicht indy ^^))
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
for i:=0 to EndeZaeler do
  begin
    Clientsocket1.Socket.SendText(GibArray(i)); 
  end;
end;

Sooo nun zu meinen wirklich dummen fehler: es wird bei einem solchen aufruf nicht X mal ein Text geschickt, nein statt dessen werden ALLE texte zusammen abgeschickt !
D.h. es lag nicht am Wertebereich sonderen an der Tatsache das seher viele seher grosse Int64 am ende zusammen in EINE int64 geschrieben werden. Das ist auch der grund warum Extended nicht richtig funktionirt hat.

Also Danke an all die Denkanstösse (troz meiner schlechten fragestellung(was habe ich mir dabei gedacht ?????)) und danke für eure Gedult ;D
Yogu
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2598
Erhaltene Danke: 156

Ubuntu 13.04, Win 7
C# (VS 2013)
BeitragVerfasst: Mo 20.04.09 18:43 
Ich bin mir nicht ganz sicher, aber es kann durchaus sein, dass SendText nur in einen Stream schreibt, dessen Protokoll du selbst verwalten musst. Das heißt konkret: Du brauchst irgend eine Art Steuerzeichen, angebracht wäre sicherlich #10#13, einem normalen Windows-Zeilenumbruch.

Ob der automatisch erkannt wird, hängt von deiner Leseroutine ab, sonst musst du beim Lesen eben immer auf dieses Steuerzeichen prüfen, und die Zahlen aufteilen.
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10185
Erhaltene Danke: 1261

W11x64
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Mo 20.04.09 18:45 
Moin!

user profile icontheChaoS hat folgendes geschrieben Zum zitierten Posting springen:
mein quelltext (ich nutze Delphi 7 und damit verbunden die Internet Socket Komponente
[...]
es wird bei einem solchen aufruf nicht X mal ein Text geschickt, nein statt dessen werden ALLE texte zusammen abgeschickt !
Tja, so ist das eben, wenn man keinen Quelltext zeigt und die Fragen als Ratespiel formuliert... :D Du hättest das Problem auch bereits hier in der FAQ beschrieben gefunden - nur wussten wir leider nicht, was du eigentlich für ein Problem hast. ;)

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
theChaoS Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 38



BeitragVerfasst: Mo 20.04.09 18:55 
@ Narses:
Tja sorry das ich euchb so lange raten lasen habe.
Die warheit ist: Ich wusste selber nicht WO mein problem liegt ;D.
Ich ware mir allerdings sicher das es nicht am Socket liegen könte (wer erwarte den sowas ^^).
Tja dummheit gepart mit Grössenwahn ;D
alzaimar
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2889
Erhaltene Danke: 13

W2000, XP
D6E, BDS2006A, DevExpress
BeitragVerfasst: Mo 20.04.09 19:26 
Ahoj, 'theChaoS'

Deine suboptimale Netiquette macht sich durch dein fehlendes Bemühen bemerkbar, die deutsche Rechtschreibung zu beherzigen. Dein Ton ist ok, aber man merkt deinen Beiträgen an, das Du dir nicht sonderlich Mühe beim Korrekturlesen gibst. Diese Mühe erwartest Du aber von Anderen bei der Beantwortung deiner Frage.

Schreib einfach schönes Deutsch, dann meckert keiner.

_________________
Na denn, dann. Bis dann, denn.