question C

Page principale

Répondre à ce message
Auteur: Laurent Vivier
Date:  
À: guilde
Sujet: question C
Salut a tous,

en ecrivant le petit programme suivant, j'ai
eu des resultats bizarres:

#include <stdio.h>

int main(argc, argv)
int argc;
char** argv;
{
        char c;


        c = -32;


        printf("%ld\n", (long)c);


    return 0;
}


Les resultats sont les suivant:

AIX(PowerPC):    224
Linux(PowerPC):    224
Linux(Intel):    -32


Le resultat logique me semble etre -32.
(Le bit de signe devrait etre etendu de char
vers long).

Qu'en pensez-vous ?
Qu'en est-il sur d'autres systemes
(Sparc, SGI, Cray :-) ) ?

A+
Laurent
-- 
=============== Laurent Vivier ==============
mailto:Laurent_Vivier@focal.fr        (FOCAL)
mailto:Laurent.Vivier@frec.bull.fr     (BULL)
mailto:Laurent.Vivier@capway.com      (PERSO)
---------------------------------------------
           UNIX is user-friendly...
It's just selective about who its friends are
---------------------------------------------