OT Ceckarsky kviz II

Miroslav Šinko sinkomiro@gmail.com
Pondělí Březen 9 13:41:09 CET 2009


Vratim sa este ku kvizu. Skuste (koho to zaujima, nie iba LG) zo
vzorca odstranit /10 a pozriet sa na vysledok. Chvilu mi trvalo to
pochopit, ale je to logicke :-)

Nizsie napisany predpoklad je/nie je spravny, ako sa to vezme :-)

miro

2009/3/5 Lukáš Grepl <L.Grepl@sh.cvut.cz>:
> Myslel jsem si, že (a * b) se provede správně, pak se mezivýsledek
> přetypuje na unsigned int (protože se nevleze do intu) a provede se
> dělení. Ale ono ve skutečnosti to proběhne vlastně jakoby takhle
>
>        int a = -50;    // (unsigned int)a == 4294967246 (32-bit)
>        unsigned int b = 50;
>
>        int c = ((unsigned int)a * b) / 10;
>
> Takže to jsem dokonce napálil sám sebe :-).



Další informace o konferenci Hw-list