5 Kodado de datenaj tipoj: nombroj |
5 Kodierung von Datentypen: Zahlen | ||||||||||||||||||||||||
5.1 Entjeraj nombrojEntjeraj nombroj ("sen komo") estas ofte kodataj en la duuma sistemo kaj memorataj plej ofte en 1, 2, 4 aŭ 8 bajtoj. La unua bito kodas la signumon (0 por pozitivaj, 1 por negativaj nombroj), tiel ke restas 7, 15, 31 aŭ 63 duumaj ciferoj por la absoluta valoro de la nombro. Ekzemplo: 69 = 64 + 4 + 1. |
5.1 Ganze ZahlenGanze Zahlen ("Zahlen ohne Komma") werden oft im Binärsystem kodiert und meistens in 1, 2, 4 oder 8 Byte gespeichert. Das erste Bit kodiert das Vorzeichen (0 für positive, 1 für negative Zahlen), so dass 7, 15, 31 oder 62 Binärziffern (Bits) für den absoluten Zahlenwert verbleiben. Beispiel: 69 = 64 + 4 + 1. | ||||||||||||||||||||||||
| |||||||||||||||||||||||||
Tia procedo reprezentas nombron kiel sumon de potencoj de 2 (20, 21, 22, …). Oni nomas ĝin malkomponado de nombro al potencoj de 2. Facile eblas pruvi, ke tia malkomponado estas ĉiam unika, t. e. por ĉiu nombro ekzistas unu kaj nur unu reprezentaĵo tiuforma. Tabelo de la unuaj duumaj nombroj montras, kiel la nombroj kreskas: Oni provas altigi la lastan pozicion (de 0 al 1), sed kiam tio ne eblas (ĉar ĝi jam estas 1), oni ŝanĝas al 0 kaj "transportas" la altigon maldekstren, same kiel en la dekuma sistemo, kiam la dekstra cifero estas 9: |
Dieser Vorgang stellt die Zahl als Summe von Potenzen der Zahl 2 (20, 21, 22, …) dar. Man nennt ihn Zerlegung der Zahl in Zweierpotenzen. Es lässt sich leicht beweisen, dass eine solche Zerlegung immer eindeutig ist; d. h. für jede ganze Zahl gibt es eine und nur eine solche Darstellung. Eine Liste der ersten Binärzahlen zeigt, wie diese Zahlen wachsen: Man versucht, die letzte Stelle (von 0 auf 1) zu erhöhen, und wenn das nicht geht (weil die Stelle schon den Wert 1 hat), macht man sie zu 0 und "überträgt" die Erhöhung nach links, genau wie im Dezimalsystem, wenn die rechte Ziffer gleich 9 ist: | ||||||||||||||||||||||||
| |||||||||||||||||||||||||
Depende de la uzataj bajtoj, entjera nombro povas atingi jenajn maksimumajn valorojn: |
Je nach der Zahl der verwendeten Bytes kann eine ganze Zahl folgende Maximalwerte annehmen: | ||||||||||||||||||||||||
| |||||||||||||||||||||||||
Se oni volas kodi ankaŭ negativajn nombrojn, la maksimuma valoro estas nur la duono, ĉar la alia duono estas uzata por la negativaj nombroj. Por interesitoj: jen pli detala prezento pri kodado de negativaj nombroj. |
Will man auch negative Zahlen kodieren, ist der Maximalwert nur halb so groß, da die andere Hälfte für die negativen Zahlen verwendet wird. Interessierte finden hier eine tiefer gehende Behandlung der Kodierung negativer Zahlen. | ||||||||||||||||||||||||
5.2 Frakciaj nombroj |
5.2 Bruchzahlen | ||||||||||||||||||||||||
Frakciaj nombroj povas esti kodataj en fiksa-koma aŭ glit-koma reprezento. Fiksa-komajn nombrojn uzas la komercista (financa) kalkulado, glit-komajn la fiziko. Fiksa-komaj nombroj ne esence diferencas de entjeraj nombroj, sed en komerco oni foje kodas ilin ne en la du-uma, sed en la dek-uma sistemo. (La dek-uma sistemo estas pli agrabla por homoj, sed komputiloj malpli rapide kalkulas en ĝi.) La esprimo "fiksa-koma" signifas, ke la pozicio de la komo (la nombro de la frakciaj pozicioj) estas fiksita kaj ne povas ŝanĝiĝi, ankaŭ se la valoro de la nombro ŝanĝiĝas. Ekzemplo: la nombro 130,17 havas du frakciajn poziciojn; se oni dividas ĝin per 2, la preciza rezulto estus 65,085; sed ĉar estas nur du frakciaj ciferoj, necesas rondigi al 65,09. En glit-koma nombro la pozicio de la komo povas ŝanĝiĝi. Tiun pozicion indikas parto de la nombro. Glitkoma reprezento do kodas nombrojn per du vicoj de ciferoj: |
Bruchzahlen können als Festkommazahlen oder als Gleitkommazahlen kodiert werden. Festkommazahlen verwendet die kaufmännische Rechnung (Finanzrechnung), Gleitkommazahlen die Physik. Festkommazahlen unterscheiden sich nicht wesentlich von ganzen Zahlen; im kaufmännischen Rechnungswesen werden sie aber häufig nicht im Binärsystem, sondern im Dezimalsystem kodiert. (Das Dezimalsystem ist für Menschen bequemer, aber Computer arbeiten damit langsamer.) Der Ausdruck "Festkomma" bedeutet, dass die Position des Kommas (also die Anzahl der Bruchstellen "hinter dem Komma") fest ist und sich nicht ändern kann, auch wenn sich der Wert der Zahl ändert. Beispiel: Die Zahl 130,17 hat zwei Nachkommastellen; wenn man sie durch 2 teilt, wäre das exakte Ergebnis 65,085; aber da es nur zwei Nachkommastellen gibt, muss auf 65,09 gerundet werden. Bei Gleitkommazahlen kann sich die Position des Kommas ändern. Diese Position wird durch einen Teil der kodierten Zahl angegeben. Die Gleitkomma-Darstellung einer Zahl besteht also aus zwei Folgen von Ziffern: | ||||||||||||||||||||||||
Tiuj du cifervicoj senambigue karakterizas la kodatan nombron. Ili estas memorataj kiel duumaj nombroj. En la supra ekzemplo oni povus kodi la nombron 130,17 per (13017;2); post divido per 2 la rezulto estus (65085;3), rondigata al (6509;2). Ekzemploj (dekumaj): |
Diese beiden Ziffernfolgen charakterisieren die kodierte Zahl eindeutig. Sie werden als binäre Zahlen gespeichert. Im obigen Beispiel könnte man die Zahl 130,17 durch das Zahlenpaar (13017;2) kodieren; nach der Teilung durch 2 wäre das Ergebnis (65085;3), es wird zu (6509;2) gerundet. Beispiele (dezimal): | ||||||||||||||||||||||||
| |||||||||||||||||||||||||
Por interesitoj: jen pli detala priskribo. Inter la aplikoj de fiksa-komaj kaj glit-komaj nombroj estas grava diferenco:
|
Interessierte finden hier eine eingehendere Beschreibung (in Esperanto). Zwischen der Verwendung von Festkomma- und von Gleitkommazahlen gibt es einen wichtigen Unterschied:
|
Specimenaj demandoj
|
Beispielfragen
|