Affichage du tableau des 256 valeurs en ascii

Soyez le premier à donner votre avis sur cette source.

Vue 8 995 fois - Téléchargée 257 fois

Description

Ce programme affiche les caractères ascii avec leur valeur décimale, hexadécimale et binaire correspondante.

Source / Exemple :


#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();
}

Conclusion :


Alex9211@caramail.com

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
16
Date d'inscription
dimanche 2 février 2003
Statut
Membre
Dernière intervention
3 juin 2008

L'ascii est codé sur 7 bits, et 2^7 =128
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.
Messages postés
2
Date d'inscription
vendredi 12 octobre 2007
Statut
Membre
Dernière intervention
12 octobre 2007

Et une version pour les amateurs de binaire...

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();
}
Messages postés
2
Date d'inscription
vendredi 12 octobre 2007
Statut
Membre
Dernière intervention
12 octobre 2007

Salut les amis,

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à!
Messages postés
1
Date d'inscription
mercredi 5 mars 2003
Statut
Membre
Dernière intervention
16 mai 2005

Franchement merci trop util pour le codage de donnée juste un peut long ;) mais c'est vrai que c'est la seul technique que j'ai trouvé qui fonctionnée pour le moment
merci encore
Messages postés
24
Date d'inscription
vendredi 18 juin 2004
Statut
Membre
Dernière intervention
25 octobre 2004

Moi comme je ne pouvais pas remonter, j'ai mis un getch() à la fin de la boucle while (a<256), mais je dois toujours appuyer sur une touche pour descendre. Enfin je reste appuyé mais au moins je peux tout voir ...
Afficher les 8 commentaires

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.