» »

[C] floating point, deljenje in natančnost

[C] floating point, deljenje in natančnost

alphasaphir ::

Pozdravljeni,
v šolskem primeru imam težave s float in double precision, pa bi vas prosil za pomoč.
Del kode:
#include<stdio.h>			
float y;
int main()
{
// Branje realnega stevila  	
	printf("Vstavite realno stevilo: ");
	scanf("%f", &y);
	
	printf("\nPolovica: %f", y/2); //OPOMBA*1
	printf("\nFloating-point notation: %-10.4f", y);//OPOMBA *2
	printf("\nExponenten zapis: %-e", y);//OPOMBA *3
return 0;
}


OPOMBA *1 - ce dam namesto %f - %-10.4f potem je 10 mest dolzine in 4 mesta od tega za piko, poravnano levo - decimalnih, vendar jaz ne vem kak bo vnos, enkrat bo lahko 1.3, drugič bo lahko 123456.789 in pri teh daljših primerih mi na 5 decimalki narobe izračuna y/2 (ni 61728,3945, ampak sta za 3945 še 2 števili (razumem zakaj 2, ker je natanćnost brez omejitev c C pač 6 decimalk, ampak zakaj pa še 2 v tem primeru pa ne razumem in ne vem kako to rešiti - računalnik mi z mojo kodo namreč narobe zračuna in to v marsikaterem primeru kjer je številka daljša oziroma ima y 3 ali več decimalk)

OPOMBA *2 - sta double in float oba floating point ali ne? Na zaslonu moram izipsati v floating point notation (da se decimalna pika lahko premika, koliko to razumem) double vem da je večji od float - je še kaka druga razlika?
- kako zapišem v double: ker če definiram y kot double, mi prvo dvoje izpiše kot: 0.0000000 - po moji skripti pa bi za double naj bilo tudi %f, pa nikakor ne dela. Se pravi bi moralo delat vse vredu tudi za večja števila, če samo float pri deklaraciji spremenljivk spremenim z double; pa ne gre.

OPOMBA *3 - se da nastavljati natančnost %e in %g? ker tu tudi kar lepo zaokroži

Delam na WIN7 in gcc compilerju- bi lahko to bil razlog za katero od mojih težav?

Najlepša hvala!

mn ::

Ce uporabljas double pri branju uporabi:

double y;
scanf("%lf", &y);


scanf dokumentacija.

Zgodovina sprememb…

  • spremenilo: mn ()

alphasaphir ::

Za prvo vprašanje sem ugotovil, da je za mene dovolj natančno plus da sem prebral priporočene teme. Drugo si mi odgovoril! Tretje pa je odvisno samo od tipa spremenljivke.

Hvala


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

float vs decimal

Oddelek: Programiranje
366171 (4304) Looooooka
»

C programiranje (strani: 1 2 3 )

Oddelek: Programiranje
14127416 (17712) amacar
»

Neznan problem #2 [C]

Oddelek: Programiranje
91633 (1423) videc
»

[C] Naloga

Oddelek: Programiranje
15964 (785) Apfelsaft
»

[c] char zadeva

Oddelek: Programiranje
222210 (2008) TheCyborg

Več podobnih tem