C - zaokrouhlovani
Michal Gregor
a2x1nptda8 na email.cz
Neděle Únor 20 14:03:00 CET 2011
A jeste jeden dotaz. Priklad, ktery zkousim pouziva posun misto deleni a
nasobeni. Jsou tam signed promenne. Ale to by nemelo vadit ne. Bitovy posun
pro signed je snad v C taky standartizovany.
static u32 Tlak_Pa;
s32 X1;
s32 X2;
X1 = (X1 * 3038) >> 16; // Toto pocita dobre
X2 = (-7357 * (s32)Tlak_Pa) >>16; // Toto pocita spatne
Musel jsem to upravit na:
X2 = (-7357 * (s32)Tlak_Pa) / 65536;
Michal Gregor
----- Original Message -----
From: "Michal Gregor" <a2x1nptda8 na email.cz>
To: "HW-News" <hw-list na list.hw.cz>
Sent: Sunday, February 20, 2011 1:43 PM
Subject: C - zaokrouhlovani
Zdravim pocitam v C s celymi cisly. Promenne 32bitu signed.
-17840128 / 7611 = -2343,9926422283536985941400604388
V prikladu z netu jim to vychazi 2344, tedy zaokrouhleno nahoru.
Ale Hitech C18 zaokrouhluje dolu tedy na 2343.
Je v norme pro C dano jak se maji cisla zaokrouhlovat v pripade vypoctu pro
cele cisla?
Michal Gregor
_______________________________________________
HW-list mailing list - sponsored by www.HW.cz
Hw-list na list.hw.cz
http://list.hw.cz/mailman/listinfo/hw-list
Další informace o konferenci Hw-list