On Fri, Dec 13, 2002 at 14:32:40 +0200, Ruslan Ermilov wrote:
> Pardon my ignorance here, but the following fragment
> returns -1, doesn't it?
> 
> #include <stdio.h>
> void
> main(void)
> {
>         int i;
> 
>         i = (unsigned char)1 - (unsigned char)2;
>         printf("%d\n", i);
> }

It very depends on compiler, i.e. does it implements "value preseving" or 
"unsigned preserving" for 'char' type conversions. Or ANSI C vs. common C 
mode. Better be safe for both.

Read 6.10.1.1 section here:
http://wwwrsphysse.anu.edu.au/doc/DUhelp/AQTLTBTE/DOCU_067.HTM


-- 
Andrey A. Chernov
http://ache.pp.ru/

Attachment: msg48645/pgp00000.pgp
Description: PGP signature

Reply via email to