Affichage du tableau des 256 valeurs en ascii

0/5 (8 avis)

Vue 9 826 fois - Téléchargée 296 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

3 oct. 2008 à 16:25
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

12 oct. 2007 à 18:59
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

12 oct. 2007 à 18:45
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

16 mai 2005 à 12:43
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

3 oct. 2004 à 13:32
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.