Paĝo 12 el 17

Al la demando: Kio ne estas en ordo en la suba konstanto, por kiu oni postulas la tipon float?

1230.00089F

trafa respondo estas:

Ĝi havas naŭ dekumajn ciferojn de precizo. Datumtipo float ne povas trakti ĝin. La tradukilo rondigos la nombron al valoro kiu taŭgas por float.

Duobla Precizo

Vi povus argumenti, ke oni uzas nur kvin poziciojn en la supra nombro: tiuj de la ciferoj 1, 2, 3, 8 kaj 9. Bedaŭrinde, la kvar nuloj en la mezo nepre gravas. Ilia prezento postulas bitojn, eĉ se temas pri nuloj.

La primitiva datumtipo double (duobla) uzas 64 bitojn kaj ĝia amplekso estas multe pli granda: el -1.7E+308 ĝis +1.7E+308. Ĝi havas ankaŭ multe pli grandan precizon: proksimume 15 signifikajn dekumajn ciferojn.

Pro tio, kiam vi skribas literalon kiel 2.345 en Java-programo, la tradukilo aŭtomate konsideros ĝin kiel double, eĉ se float sufiĉus. Do, kiam vi traktas glitpunktajn nombrojn, uzu prefere variablojn de tipo double.

DEMANDO 12:

Ĉu vi opinias, ke signoj (angle: characters) sufiĉe gravas por esti unu el la ok primitivaj datumtipoj?