OT Ceckarsky kviz II

Miroslav Šinko sinkomiro@gmail.com
Čtvrtek Březen 5 19:10:32 CET 2009


Uzasne! Toto by ma pri pisani programu nenapadlo...Vysvetlenie sa ale
skryva v inom pravidle:

Otherwise, if the operand that has unsigned integer type has rank greater or
equal to the rank of the type of the other operand, then the operand with
signed integer type is converted to the type of the operand with unsigned
integer type.

miro

2009/3/5, Lukáš Grepl <L.Grepl@sh.cvut.cz>:
> > If an int can represent all values of the original type, the value is
> > converted to an int;
> > otherwise, it is converted to an unsigned int. These are called the integer
> > promotions.48) All other types are unchanged by the integer promotions.
>
> Tohle to má určité vtipné důsledky. Zrovna před pár dny jsem se s tím
> pěkně vypekl a to jsem si (naivka) myslel, že už mi integral promotion
> nedělá problémy.
>
> Takže když už jsme u těch kvízů, jakých hodnot může nabývat c?
>
>        int a = -50;
>        unsigned int b = 50;
>
>        int c = a * b / 10;
>
> Lukáš Grepl
>
> P.S. Integral promotion: It doesn't have to be logical. It's the law.
> __



Další informace o konferenci Hw-list