Datensätze auf CD - Klausuraufgabe - brauche Hilfe

Tigerpaw

Mächtiger Krieger
Mitglied seit
04.07.2002
Beiträge
107
Also, schreibe morgen eine Klausur und hab ne Frage in einer alten Klausur gefunden, die ich nicht wirklich beantworten kann. Kann mir da einer von euch helfen?

Ein Datensatz einer POS Erfassung sehe wie folgt aus:

ZZZ NNNNNN KKK DDMMYYYYHHMMSS

ZZZ dreistellige Zahl
NNNNNN sechsstellige Artikelnummer
KKK Kassennummer
Datum in Sekundengenauigkeit

Eine CD fasst 650 MB

Wieviele Datensätze passen auf die CD, so dass man nicht ständig CDs nachlegen muss.

Naja, ich hab irgendwie 748800 Datensätze raus, aber ich hab das ungute Gefühl, dass das falsch ist :p
 

theSpy

Held
Mitglied seit
24.08.2002
Beiträge
294
Du meinst wieviele Angaben von "ZZZ NNNNNN KKK DDMMYYYYHHMMSS" auf eine 650 MB CD passen?
Das kommt darauf an - welches Format verwendet wird.

eine CD mit 650 MB hat 681.574.400 bytes an Speicherkapazität

Ein Datensatz wie dieser ("ZZZ NNNNNN KKK DDMMYYYYHHMMSS") ist durchschnittlich 29 bytes groß und passt somit 23502565,517 mal auf diese CD...
 
OP
OP
T

Tigerpaw

Mächtiger Krieger
Mitglied seit
04.07.2002
Beiträge
107
Ja richtig, ich hab die Leerzeichen vernachlässigt, da war bestimmt einer meiner Fehler. Aber bist du dir mit 29 byte sicher, müssten das nicht 29 bit sein?
 

theSpy

Held
Mitglied seit
24.08.2002
Beiträge
294
Nein, kannst du ja selber nachzählen.
Die Zeile besteht aus 29 bytes... als txt Datei (egal wieviele) belegt sie ebenfalls 29 bytes mit dem Code.

29 bits wären ein bisschen wenig... da müsste die Datei schon komprimiert sein!
 

Crono

The Next Avenger
Mitglied seit
06.03.2002
Beiträge
2.087
Dann muss ich ja doof sein. Bin (immernoch) der festen Überzeugung, dass ein Zeichen ein Bit groß ist. Die restlichen Bit/Byte bei einer .txt Datei könnten ja die Größe sein, dass überhaupt erst zusammenzufassen in einer Datei, aber ein Zeichen dürfte nicht größer als ein Bit sein...
 

theSpy

Held
Mitglied seit
24.08.2002
Beiträge
294
Da hast du wohl etwas verwechselt.

1 Byte ist sowas wie "ein Buchstabe"

Bit ist die kleinste Einheit... 1 Byte besteht aus 8 Bits... also 1/8 "Buchstabe"

Wenn man einen 10 Byte-langen Text schreibt - hat der mindestens 10 Byte größe (logisch, oder?)

Auf der Festplatte belegt er aber oft mehr, da diese bestimmte Zuordnungseinheiten hat (z.B. 512 bytes)... wenn man eine Datei hat - die nur 30 bytes groß ist - belegt sie trotzdem 512 bytes!

Deswegen hat es auch seine Vorteile von FAT auf FAT32 oder NTFS zu wechseln... beide Formate können die Zuordnungseinheiten verkleinern - um weniger Platz zu verschwenden.


Bestes Beispiel T-DSL (768 kiloBITS - sind 768.000 bits)

um die Downloadrate heraus zu bekommen muss man durch 8 teilen: 768 kilobits durch 8 = maximal 96 kbyte...
 

Crono

The Next Avenger
Mitglied seit
06.03.2002
Beiträge
2.087
Das ein Byte 8 Bit sind, ist mir klar. Da brauchste keinen ganzen Text zu schreiben um mir dies zu erläutern. Ich hab auch nirgendwo das falsch wiedergegeben. Mag höchstens sein, dass ich die normalen Zeichen mit dem binären Zahlensystem (0 und 1) verwechselt habe...
Aber ein Zeichen des binären Zahlensystems ist 100 prozentig ein Bit groß und nicht mehr.

Das mit dem DSL Ist ebenfalls klar. Wäre ein Traum, wenn man mit 768 Kilobyte/s hätte runterladen können, aber da es nur kBit sind, kommt man eben wie schon gesagt maximal 96 KB/s
 

Syne

Halbgott
Mitglied seit
26.08.2001
Beiträge
303
Die Leerzeichen kann man weg lassen, da die Längen der Dateneinheiten gleich bleiben. Somit hätten wir also 3+6+3+14=26 Byte. Hinzu kommt, daß man Zeitdaten meistens in einem 32-Bit Ordinaltyp abspeichert (damit kann man mehr als 136 Jahre auf die Sekunde genau erfassen), falls das nicht reicht kann man eine 64-Bit Zahl nehmen (584 942 417,4 Jahre sogar auf ne 1/1000 Sekunde genau). Also bräuchten wir nur 12+4(8)=16(20) Bytes.
Eine CD hat bei 650 MB genau 681 574 400 Bytes. Wenn wir 26 Bytes bräuchten passen 2 621 440 Datensätze drauf. Wenn wir nur 16(20) Bytes bräuchten passen 42 598 400(34 078 720)Datensätze drauf.
Eine noch genauere Betrachtung:
3-stellige Dezimalzahlen (ZZZ) können maximal 999 groß sein. Dafür braucht man also 10 Bit. Eine 6-stellige Artikelnummer kann maximal 999999 groß sein, dafür braucht man 20 Bit. Die Kassen nummer dürfte auch nur 3 stellen besitzen, braucht also auch nur 10 Bit. Also haben wir 10+20+10+32(64)=72(104) Bit = 9(13) Byte pro Datensatz. Damit passen auf einen Rohling also ~75 730 488(52 428 800) Datensätze drauf.
Außerdem kann man CDs auch überbrennen *g*.
Wenn du so argumentierst, wird man dir bestimmt keine Punkte abziehen ;)
 

theSpy

Held
Mitglied seit
24.08.2002
Beiträge
294
Das ist es ja...
Man müsste wissen - in welchen Format die Daten abgespeichert werden.

Es gibt durchaus viele Programme - die den Datensatz gleich noch komprimieren... ist das der Fall, passen deutlich mehr Datensätze auf eine CD.
Ausserdem dürfte es günstiger sein, alle Datensätze in einer Datei zu speichern - als in ein paar millionen Dateien.

Da diese Infos nirgendwo standen, bin ich schlicht und einfach von normalen text-dateien ausgegangen... die sind bei 29 Zeichen - 29 bytes groß :)
 
Oben