Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Andy19312
Anmeldungsdatum: 22.10.2005 Beiträge: 428
|
|
Nach oben |
|
 |
PMedia
Anmeldungsdatum: 14.08.2006 Beiträge: 2847
|
Verfasst am: 30.01.2007, 15:50 Titel: |
|
|
LOLZ
Für gewöhnlich nehm ich für Umwandlungen von Binär<->Dezimal den Windows Rechner im Erweitert-Modus... geht auch Hexadezimal.
Warum baust dir net ein FreeBasic-Programm dafür? |
|
Nach oben |
|
 |
dreael Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 2529 Wohnort: Hofen SH (Schweiz)
|
Verfasst am: 30.01.2007, 16:22 Titel: |
|
|
Früher auf dem Commodore 64 gehörte so etwas noch zum Kopfrechentraining (man war viel schneller, als ständig in einer Tabelle suchen müssen), wenn man Sprites und eigene Zeichensätze auf kariertem Schreibblock mit Bleistift entworfen hatte und das Ganze als DATA-Zeilen für die FOR/READ/POKE-Schleife im Rechner eingegeben hatte...
Rechenfehler fielen dann jeweils als entsprechende Verstümmelungen im dargestellten Sprite auf... _________________ Teste die PC-Sicherheit mit www.sec-check.net |
|
Nach oben |
|
 |
Andy19312
Anmeldungsdatum: 22.10.2005 Beiträge: 428
|
Verfasst am: 30.01.2007, 16:28 Titel: |
|
|
FOR i = 1 TO 32768
OPEN "Adressen.txt" FOR APPEND AS #i
WRITE #i, BIN(i)
CLOSE #i
NEXT
sleep
Diesen Quelltext habe ich gerade laufen, jedoch hängt sich das Programm nach 250 Zeilen auf.
Hoffe ihr könnt mir helfen |
|
Nach oben |
|
 |
Stormy

Anmeldungsdatum: 10.09.2004 Beiträge: 567 Wohnort: Sachsen - wo die schönen Frauen wachsen ;)
|
|
Nach oben |
|
 |
Michael712 aka anfänger, programmierer
Anmeldungsdatum: 26.03.2005 Beiträge: 1593
|
Verfasst am: 30.01.2007, 16:38 Titel: |
|
|
Vor allem kann FreeBASIC, und ich denke auch QBASIC als Datei-"Index" maximal 255 haben, also wenn du 'Open "bla" For Output as #256' schreibst, dann geht es nicht mehr.  _________________
Code: | #include "signatur.bi" |
|
|
Nach oben |
|
 |
SpionAtom
Anmeldungsdatum: 10.01.2005 Beiträge: 395
|
Verfasst am: 30.01.2007, 21:44 Titel: |
|
|
Oder man errechnet sich selbst eine:
Geht leider nur bis 4 Bits, da das LOCATE sonst meckert, aber wenn man statt auf den Bildschirm zu schreiben in eine Datei schreibt, dann kann man viel mehr Bits pro Zahl angeben...
Greetz
Code: | 'Dualzahlen-Tabelle
'von Thomas Decker
'Januar 2007
1 CLS
INPUT "Anzahl der Bits? ", bits%
IF bits% < 1 OR bits% > 4 THEN END
tiefe% = 2 ^ (bits%)
CLS
p% = 5
LOCATE 1, 1: PRINT " #) "
FOR i% = 1 TO bits%
LOCATE 1, i% * p%: PRINT 2 ^ (bits% - i%)
NEXT
LOCATE 2, 1: PRINT STRING$(bits% * p% + 5, "Ä")
k% = 0
FOR bit% = 0 TO bits% - 1
b% = 1
FOR z% = 1 TO tiefe%
k% = k% + 1
IF ((z% - 1) MOD (2 ^ bit%)) = 0 THEN b% = (b% + 1) MOD 2: SLEEP
LOCATE 3 + z%, (bits% - bit%) * p%
PRINT b%;
NEXT
NEXT |
_________________ Inzwischen gehöre ich auch zu den BlitzBasicern. Also verzeiht mir, wenn mir mal ein LOCATE 100, 100 oder dergleichen rausrutscht. |
|
Nach oben |
|
 |
Andy19312
Anmeldungsdatum: 22.10.2005 Beiträge: 428
|
|
Nach oben |
|
 |
Skilltronic

Anmeldungsdatum: 10.09.2004 Beiträge: 1148 Wohnort: Köln
|
Verfasst am: 07.02.2007, 02:11 Titel: Re: 16,32 u. 64 Bit Tabelle |
|
|
Hallo
Andy19312 hat Folgendes geschrieben: | Hallo zusammen,
ich wollte bei euch mal Nachfragen, wo ich 16,32 u. 64 Bit Tabellen herbekomme. |
Mal ein kleines Rechenbeispiel. Eine 64-Bit-Tabelle hätte 2^64, also 184467440739551616 Einträge, kurz gesagt 184 Billiarden. Nur die 64 Einsen und Nullen und die dazugehörigen Dezimalzahlen ohne Leerstellen etc. wären als Text gespeichert eine Datenmenge von 1,2 Milliarden Terabyte oder auf alle 6 Milliarden Menschen aufgeteilt für jeden knapp 210 Gigabyte.
Mal abgesehen von die Kosten für Webspace und Traffic und ganz zu schweigen von der Ladezeit einer solchen Tabelle - nehmen wir mal an, du lässt dir auf einem Bildschirmfenster auf 30cm Höhe je 100 Zeilen der Tabelle anzeigen, was schon sehr klein ist, müsstest du fast 6 Jahre lang mit Lichtgeschwindigkeit runterscrollen, um an ihr Ende zu kommen.
Ausgedruckt ergäbe das einen Papierstapel von ca. 9 Milliarden Kilometern Höhe, was der 60-fachen Entfernug Erde-Sonne entspricht. Die Spitze dieses Stapels wäre damit weiter entfernt, als der Pluto.
Ausgebreitet könntest du mit dieser Papiermenge die ganz Erde elf mal komplett abdecken und wenn du 2,5 Sekunden brauchst, um eine Seite zu lesen und umzudrehen, hättest du schon beim Urknall damit anfangen müssen, um jetzt damit fertig zu sein.
Ich denke, es wäre effektiver, wenn du dich mal ein Bisschen mit der Umrechnung vom bzw. ins Binärsystem beschäftigst. Im Prinzip brauchst du nur eine Tabelle mit Zweierpotenzen und die dann jeweils abziehen oder addieren. Die Potenzen bis 2^10 z.B. kennst du schnell auswendig, wenn du das ein paar mal gemacht hast.
Gruß
Skilltronic _________________ Elektronik und QB? www.skilltronics.de ! |
|
Nach oben |
|
 |
Michael712 aka anfänger, programmierer
Anmeldungsdatum: 26.03.2005 Beiträge: 1593
|
Verfasst am: 07.02.2007, 15:00 Titel: |
|
|
lol
Das war mal ein cooler Beitrag, Skilltronic  _________________
Code: | #include "signatur.bi" |
|
|
Nach oben |
|
 |
csde_rats

Anmeldungsdatum: 07.01.2007 Beiträge: 2292 Wohnort: Zwischen Sessel und Tastatur
|
Verfasst am: 08.02.2007, 19:58 Titel: |
|
|
Code: |
'***************************************************************************
' bin2dec.bas - QBasic-Program for converting binary into decimal numbers
' =========================================================================
'
'
' \ Downloaded from
' \ /\
' ( ) http://www.antonis.de
' .( o ).
' ----==== Hottest QBasic Stuff on Earth !!! ====----
'
'***************************************************************************
DO
INPUT "Gib die Bin„rzahl ein"; Binary$
decimal& = 0: power% = 0
Binary$ = UCASE$(Binary$)
FOR i% = LEN(Binary$) TO 1 STEP -1
digit% = ASC(MID$(Binary$, i%, 1)) - 48
IF digit% < 0 OR digit% > 1 THEN decimal& = 0: EXIT FOR
decimal& = decimal& + digit% * 2 ^ (power%)
power% = power% + 1
NEXT i%
PRINT decimal&
LOOP
|
Code: |
'***************************************************************************
' dec2bib.bas - QBasic-Program for converting decimal into binary numbers
' =========================================================================
'
'
' \ Downloaded from
' \ /\
' ( ) http://www.antonis.de
' .( o ).
' ----==== Hottest QBasic Stuff on Earth !!! ====----
'
'***************************************************************************
DO
INPUT "Gib die Dezimalzahl ein"; decimal&
Bin$ = ""
h$ = HEX$(decimal&)
FOR i% = 1 TO LEN(h$)
digit% = INSTR("0123456789ABCDEF", MID$(h$, i%, 1)) - 1
IF digit% < 0 THEN Bin$ = "": EXIT FOR
j% = 8: k% = 4
DO
Bin$ = Bin$ + RIGHT$(STR$((digit% \ j%) MOD 2), 1)
j% = j% - (j% \ 2): k% = k% - 1
IF k% = 0 THEN EXIT DO
LOOP WHILE j%
NEXT i%
PRINT Bin$
LOOP
|
_________________ If hilfreicher_Beitrag then klick(location.here)
Klick
Zuletzt bearbeitet von csde_rats am 09.02.2007, 15:47, insgesamt 2-mal bearbeitet |
|
Nach oben |
|
 |
ytwinky

Anmeldungsdatum: 28.05.2005 Beiträge: 2624 Wohnort: Machteburch
|
Verfasst am: 08.02.2007, 23:27 Titel: Re: 16,32 u. 64 Bit Tabelle |
|
|
Andy19312 hat Folgendes geschrieben: | ich wollte bei euch mal Nachfragen, wo ich 16,32 u. 64 Bit Tabellen herbekomme | ..wie csderats 'ohne worte' die gewünschten Werte darstellen will ist mir unklar(bei Werten>16Bit)..
Die 32-Bit-Werte liefert QB sowohl positiv als auch negativ(Bit 32 gesetzt)
Das entspricht aber nicht der dargestellten Tabellenform(nur positive Dezimalzahlen)
Hier sind also erklärende Worte erforderlich..
..und erst recht bei der 64-Bit-Variante, ich freue mich schon auf das zugehörige Programm..
..aber der Beitrag von csderats übertrifft längst nicht den wohldurchdachten Beitrag von Skilltronic,
der sich offensichtlich vor dem Posten mehr Gedanken gemacht hat!
Hut ab, Skilltronic
Gruß
ytwinky _________________
v1ctor hat Folgendes geschrieben: | Yeah, i like INPUT$(n) as much as PRINT USING.. | ..also ungefähr so, wie ich GOTO.. |
|
Nach oben |
|
 |
csde_rats

Anmeldungsdatum: 07.01.2007 Beiträge: 2292 Wohnort: Zwischen Sessel und Tastatur
|
Verfasst am: 09.02.2007, 15:49 Titel: |
|
|
programmierer hat Folgendes geschrieben: | lol
Das war mal ein cooler Beitrag, Skilltronic |
Dem Stimme ich bei
Die beiden Progs habe ich auch nur auf die schnelle rausgesucht  _________________ If hilfreicher_Beitrag then klick(location.here)
Klick |
|
Nach oben |
|
 |
|