Affichage du tableau des 256 valeurs en ascii

Soyez le premier à donner votre avis sur cette source.

Vue 8 875 fois - Téléchargée 238 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

uxtobirza
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.
MarioFrost666
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();
}
MarioFrost666
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à!
phantom83
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
mage_des_enfers
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 ...

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.