Article View: fr.comp.lang.c
Article #15254Re: rot13 [Was : Re: conjugaison et autres ...]
From: Harpo
Date: Mon, 03 Oct 2005 11:24
Date: Mon, 03 Oct 2005 11:24
59 lines
3773 bytes
3773 bytes
Richard Delorme wrote:
> alphabet[i] est n�cessairement positif car il utilise des caract�res
> du "basic execution character set".
>
> 6.2.5
> [#3] An object declared as type char is large enough to store any
> member of the basic execution character set. If a member of the basic
> execution character set is stored in a char object, its value is
> guaranteed to be positive. If any other character is stored in a char
> object, the resulting value is implementation-defined but shall be
> within the range of values that can be represented in that type.
>
> Donc, sur un syst�me conforme qui utilise EBCDIC, alphabet[0] vaut 129
> (valeur EBCDIC pour 'a') et char est non sign� ou fait plus de 8 bits.
>
Bon, si c'est �crit, je veux bien ! Mais j'y comprends de moins en moins
� rien !
D'abord, qui c'est �ui l� encore le 'basic execution character set' ?
Je croyais na�vement qu'un char �tait un integer comme un autre, un peu
petit pour son �ge, c'est tout. 129 ( 0x81 ) a le 'bit de gauche' � 1,
je pensais qu'il �tait n�gatif.
Pour m'�claircir les id�es, j'ai fait ce petit programme en C.
#include <stdio.h>
int main( void )
{
int i ;
char str[] = " " ;
*str = 129 ;
i = *str ;
fprintf( stdout, "129 = %d\n", i ) ;
return ( i ) ;
}
Apr�s une cinquantaine d'erreurs de compile, Je l'ai fait tourner sur ma
machine pure ASCII que m�me le concept d'EBCDIC n'a jamais effleur�.
Le r�sultat a �t� conforme � mes attentes :
129 = -127
Compl�mentation � 2 oblige. Ouf !
Maintenant, veux-tu dire que si j'avais compil� sur un bon vieil IBM
pour qui ASCII est un mot de 5 lettres, j'aurais obtenu ce r�sultat
aberrant :
129 = 129
?
Parce que son 'basic execution character set' serait diff�rent ?
Qui a pondu cette norme qui m'�nerve les nerfs ? C'est une atteinte
d�lib�r�e � la portabilit� !
Sans vouloir refaire le C ni m�me le reste du monde, je pense que tout
aurait �t� plus simple si tout avait �t� unsigned par d�faut.
uchar est-il dans la norme ? je ne savais pas si c'�tait une extension
GCC. je vais faire un sed sur tout mes programmes pour
changer /unsigned char/ par /uchar/, �a va me faire gagner l'espace
d'une partition.
Technical Details
Message-ID:
<43411501$0$27446$8fcfb975@news.wanadoo.fr>Path:
arc1-ca.pugleaf.net!g2news1.google.com!news2.google.com!proxad.net!freenix!news.wanadoo.fr!news.wanadoo.fr!not-for-mailReferences:
<1126342327.583568.21420@g43g2000cwa.googlegroups.com> <4329e5d4$0$7846$8fcfb975@news.wanadoo.fr> <dge4b6$fqa$1@reader1.imaginet.fr> <432ab809$0$1734$8fcfb975@news.wanadoo.fr> <mn.84b07d59016a857b.31483@laposte.net> <433f16ac$0$27406$8fcfb975@news.wanadoo.fr> <mn.10907d5a55119e84.15512@YOURBRAnoos.fr> <433f9cb1$0$7821$8fcfb975@news.wanadoo.fr> <mn.128c7d5aa5238de0.15512@YOURBRAnoos.fr> <43403203$0$5388$8fcfb975@news.wanadoo.fr> <43403d27$0$306$7a628cd7@news.club-internet.fr> <dhq3bs$dbc$1@reader1.imaginet.fr> <4340d2c9$0$27410$8fcfb975@news.wanadoo.fr> <4340ec30$0$303$7a628cd7@news.club-internet.fr>Show Full Headers
Complete Article Headers
X-Google-Thread: f9822,b21b26167a936e28 X-Google-Attributes: gidf9822,public X-Google-Language: FRENCH,ASCII Path: arc1-ca.pugleaf.net!g2news1.google.com!news2.google.com!proxad.net!freenix!news.wanadoo.fr!news.wanadoo.fr!not-for-mail Message-ID: <43411501$0$27446$8fcfb975@news.wanadoo.fr> From: Harpo <trashcan@hotmail.com> Subject: Re: rot13 [Was : Re: conjugaison et autres ...] Newsgroups: fr.comp.lang.c Date: Mon, 03 Oct 2005 13:24:44 +0200 References: <1126342327.583568.21420@g43g2000cwa.googlegroups.com> <4329e5d4$0$7846$8fcfb975@news.wanadoo.fr> <dge4b6$fqa$1@reader1.imaginet.fr> <432ab809$0$1734$8fcfb975@news.wanadoo.fr> <mn.84b07d59016a857b.31483@laposte.net> <433f16ac$0$27406$8fcfb975@news.wanadoo.fr> <mn.10907d5a55119e84.15512@YOURBRAnoos.fr> <433f9cb1$0$7821$8fcfb975@news.wanadoo.fr> <mn.128c7d5aa5238de0.15512@YOURBRAnoos.fr> <43403203$0$5388$8fcfb975@news.wanadoo.fr> <43403d27$0$306$7a628cd7@news.club-internet.fr> <dhq3bs$dbc$1@reader1.imaginet.fr> <4340d2c9$0$27410$8fcfb975@news.wanadoo.fr> <4340ec30$0$303$7a628cd7@news.club-internet.fr> Organization: ARG ; Association pour la Rehabilitation du Goto User-Agent: KNode/0.8.2 MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8Bit Lines: 59 NNTP-Posting-Date: 03 Oct 2005 13:24:49 CEST NNTP-Posting-Host: 83.195.36.38 X-Trace: 1128338689 news.wanadoo.fr 27446 83.195.36.38:33735 X-Complaints-To: abuse@wanadoo.fr