Pretypovavani promennych v cecku

Jiri Bezstarosti jiri@bezstarosti.cz
Úterý Leden 22 12:36:32 CET 2008


To je zajimave, ze nekdo napise mene pismen, aby to zjistil, a nekdo 
vice pismen, aby se zeptal. Ne, nechci rypat, ale fakt se na to 
podivejte, kolik pismen ma dotaz a kolik pismen zdrojak, pro overeni jak 
to je ;). A pokud nekdo pise v Ccku, prece musi nutne mit na cem ten 
experiment udelat, protoze samotna znalost C bez napsani jedineho 
programku je k nicemu (lidsky: ciste akademicka znalost programovaciho 
jazyka je na nic).

Opravdu se nechci do nikoho navazet a ani nikoho deptat a podobne, ale 
prosim, zkuste vzdycky nejprve projevit nejakou snahu o samostatnost. Je 
jasne, ze cloveka hned vsechno nenapadne, ale nekdy je fakt mnohem 
rychlejsi se dobrat odpovedi samostane udelanym experimentem, nez 
dotazem, kde cekate na odpoved, jestli nekdo neodpovi.

--
Jiri Bezstarosti


Pavel Troller napsal(a):

>>Chtel bych se zeptat, zda je jedno jestli pretypuji v C kompilatoru ve vyrazu prvni operator nebo posledni, zda mi to vrati vzdy stejny vysledek ? Jde mi o to zda si prekladac nejdrive projde vsechny promenne a podle nejpresnejsi promenne zvoli typ promenne pro mezioperace a nebo to funguje nejak jinak ?
>>
>>Bude vysledek techto vyrazu stejny ?
>>
>>int16=100*((float)int16/1024)
>>int16=100*(int16/(float)1024)
>>int16=(float)100*(int16/1024)
>>
>>tohle samozrejme vrati vysledej jiny, jelikoz se pouzije deleni bez desetinnych mist:
>>int16=100*(int16/1024)
>>
>>
>>dekuji
>>Milos Sula
>>    
>>
>Zdravim,
>  rekl bych, ze 1 a 2 budou stejne, ale 3 bude jine - deleni v zavorce se
>vypocte v int a pak se znasobi floatem 100, coz neni ono.
>  Kratky test (s jinymi hodnotami) to prokazuje:
>
>#include <stdio.h>
>
>int main(void) {
>        int a,b;
>
>        a=5;
>        b=13;
>
>        printf("%f, %f, %f\n",
>                100*((float)a/b),
>                100*(a/(float)b),
>                (float)100*(a/b)
>                );
>}
>
>$ gcc -o test2 test2.c
>$ ./test2
>38.461540, 38.461540, 0.000000
>
>S pozdravem Pavel Troller
>_______________________________________________
>HW-list mailing list  -  sponsored by www.HW.cz
>Hw-list@list.hw.cz
>http://list.hw.cz/mailman/listinfo/hw-list
>
>
>  
>




Další informace o konferenci Hw-list