Soyez le premier à donner votre avis sur cette source.
Vue 9 130 fois - Téléchargée 269 fois
#include <stdio.h> #include <conio.h> void main() { int a,b,c,d,e,f,g,h,i,y,z,ac1,ac2; char k; a = 1; b = 0; c = 0; d = 0; e = 0; f = 0; g = 0; h = 0; i = 0; z = 0; y = 0; ac1=130;/* 'é' */ ac2=138;/* 'è' */ printf("Caract%cres ASCII avec valeurs",ac2); printf(" d%ccimales, ",ac1); printf("hexad%ccimales et binaires \ncorrespondantes :\n\n",ac1); printf("Programm%c par BobRobert.(alex9211@caramail.com)\n\n",ac1); printf("D%ccimal ",ac1); printf("Hexad%ccimal\t\t",ac1); printf("Binaire\t\t"); printf("Caract%cre\n",ac2); printf("_________________________________________________________"); while(a<=256) { printf("\n"); printf("%d\t",a); printf("|\t"); printf("%x\t",a);/* Ou p */ printf("|\t"); if(a>=128){ printf("1"); b=a-128; } else{ printf("0"); b=a; } if(b>=64){ printf("1"); c=b-64; } else{ printf("0"); c=b; } if(c>=32){ printf("1"); d=c-32; } else{ printf("0"); d=c; } if(d>=16){ printf("1"); e=d-16; } else{ printf("0"); e=d; } if(e>=8){ printf("1"); f=e-8; } else{ printf("0"); f=e; } if(f>=4){ printf("1"); g=f-4; } else{ printf("0"); g=f; } if(g>=2){ printf("1"); h=g-2; } else{ printf("0"); h=g; } if(h>=1){ printf("1"); } else{ printf("0"); } printf(" |"); printf("%\t",a); printf("%c\t",a); a++; } printf("\n\n"); k='0'; printf("Remontez pour voir le d%cbut de la table :-(\n\n\n",ac1); printf("Vonvertir un entier(d%ccimal)",ac1); printf("en caract%cre?\n?",ac2); scanf("%d",&z); if(z<=256){ printf("Char : %c\n",z); printf("Exa : %x\n",z); } else{ printf("Valeur <= 256\n"); } puts("Pour continuer frapper une touche..."); getch(); }
Cela signifie qu'au delà de 127, ce n'est plus de l'ascii.
Cela va dépendre
1 du système d'exploitation (pas forcément de l'ascii)
2 des pages de codes (en fonction de la langue du système d'exploitation)
Tout ça pour dire qu'au delà de 127 on n'a aucune garantie de portabilité
de la liste des caractères.
void main(void)
{
char s[9]; s[8] = 0;
for(int i = 0; i < 256; ++i)
{
for(int k = 0; k < 8; s[k]=(((i&(1<<(7-k)))?1:0)+'0'), ++k);
printf("%c[0x%02X][%03d][%s][%c]",
((!(i%3))?'\n':' '),
i,
(unsigned int)i,
s,
((i>=32)? (char)i: ' '));
}
getch();
}
je vous propose une version un peu plus courte qui fourni le code hexa, décimal et affiche le caractère de la table ascii étendu:
#include <stdio.h>
#include <conio.h>
void main(void)
{
for(int i = 0; i < 256; ++i)
printf("%c[0x%02X][%03d][%c] ",
((!(i%4))?'\n':' '),
i,
(unsigned int)i,
((i>=32)? (char)i: ' '));
getch();
}
voilà!
merci encore
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.