Bonjour,
Je voulais savoir si il ya une manière simple de passer de l'hexadecimal au binaire (ou au décimal) sans faire de fonction svp...
Merci
Bonjour,
Je voulais savoir si il ya une manière simple de passer de l'hexadecimal au binaire (ou au décimal) sans faire de fonction svp...
Merci
Heuu ... c'est très vague comme question.
Tu veux stocker ça dans une chaîne de caractères ?
Un nombre décimal est un nombre héxadécimal (et binaire mais faut faire une fonction)![]()
tu peux utiliser les fonction d'affichage type printf, sprintf, ...
je n'ai pas de compilateur sous la main, dans l'esprit j'aurais ça:
Ceci dit le mapping est assez direct entre l'hexadecimal et le binaire un digit hexadecimal représente un demi octet.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 #include <stdio.h> int main (int argc, char* argv[]) { unsigned int a = 25; printf("octal: %o, decimal: %d, hexadecimal: %x\n",a,a,a); return 0; }
En réalité ce que je cherche à faire, gé un fichier en langage machine (représentation hexadécimal) et je veux extraire certains données et en particulière une=> je cherche alors par passer par une représentation binaire sur 32 bits et prendre la valeur de la 15 ème bit (car cé la 15 ème bit qui minteresse)
soit n un entier 32 bits et b un quelconque entier pour stocker le 15ème bit de n.
b = (n >> 14) & 1;
Et c'est fini. b aura comme valeur 1 ou 0 selon que le 15ème bit de n vaut 1 ou 0.
Une autre solution :
b = ((n & 0x4000) != 0);
Les opérateurs de manipulation de bits
Bonjour,
Je voulais savoir si mon programme marche ou non sachant que je pars d'un fichier en hexadécimal
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 int conversion(FILE * f, int lg){ char buf [5000]; int indice=0, instr=0; fgets(buf,4999,f); if (lg<4999){ while(*buf!='\0'){ instr= buf[indice]*16>>lg+4; } } }
Mon fichier en hexadecimal est de la forme
E8400000
A8010014
Partager