Nejste přihlášen/a.

Přihlásit se do poradny

 

Vypocet konstant v C-ecku

Od: kotrba odpovědí: 3 změna:

Dobry den,

snazim se programovat v C-ecku, ale narazil jsem na jeden problem se kterym nemuzu hnout. Mam nadefinovane tyto konstanty:

#define A 4096

#define B 3300

#define C A/B

Kdyz to spustim, tak je v konstante C = 1, ale spravne by to melo byt 1,2412. Nevite proc to spatne pocita?

 

 

3 odpovědi na otázku
Řazeno dle hodnocení

 

 

charlies*
hodnocení

0x

Překladač bere A i B jako celá čísla (int) a tak s nimi pak i počítá. celé číslo/celé číslo je pro něj zase celé číslo. Musíš mu nějak říct, že chceš čísla s des. čárkou (double). Takže např.
#define A 4096.0
#define B 3300.0
#define C A/B
nebo
#define A 4096
#define B 3300
#define C (double)A/B

 

dzordz*
hodnocení

0x

Také možno #define A 4096.0f , pokud stačí float místo double.

 

kotrba
hodnocení

Dekuji moc za rady ;) Nakonec jsem to vyresil takto:
#define A 4096
#define B 3300
#define C (float)A / B

 

 


 

 

 

Přihlásit se k odběru odpovědí z této otázky:

Neneseme odpovědnost za správnost informací a za škodu vzniklou jejich využitím. Jednotlivé odpovědi vyjadřují názory jejich autorů a nemusí se shodovat s názorem provozovatele poradny Poradte.cz.

Používáním poradny vyjadřujete souhlas s personifikovanou reklamou, která pomáhá financovat tento server, děkujeme.

Copyright © 2004-2025 Poradna Poradte.cz. Všechna práva vyhrazena. Prohlášení o ochraně osobních údajů. | [tmavý motiv]