Binaires decimal hexadecimal et autres

Fermé
Avogadro - 27 janv. 2008 à 17:25
 houssam demnati - 12 nov. 2011 à 13:05
Bonjour,
j ecris aujourd'hui sue ce site car onm a parlé de systeme binaire decimal hexadecimal .j aimerais savoir l utilité de ces systemes ainsi que les rgles de calcul de cessystemes (avec les remarques les cas exceptionneles et les theoremes)
je remerci la courageuse personne qui acceptera de m aider en usant son temps
avgadro
A voir également:

4 réponses

c'est tres long mais je vais vous donner des notions sur le calcul
le binaire l'octal decimal l'hexadecimal
-*le binaire est une base a 2 nombre le 1 et 0 on ecrit (10011101)2<---- le singe de la base
-*l'octal est une base a 7nombre (0.1.2.3.4.5.6 et 7) on ecrit (125473)8<------ le singe de la base
-*le decimal: c'est la base la plus utiliser dans tous le monde pour efectuer le calcul et c'est constituer de 10 nombre le (0.1.2.3.4.5.6.7.8 et 9) on ecrit (197)10<---- le singne de la base
-*l'exhadecimal est une base enstituer de 16 nombre (0.1.2.3.4.5.6.7.8.9.a.b.c.d.e et F) lors ce qu'on arrive a 9 on continue avec A jusqu'a F on ecrit (CAFE)16<----- le S B
ce sont des bases utiliser on programmation mais le plus utiliser c'est le binaire car il convient l'etat des cercuit logique
-* 1 allume
-* 0 fermé
pour convertir d'une base qlq au decimal :
exemple : (1101)2 =( ? )10
=1*2³+1*2²+0*2¹+1*2º=8+4+0+1=(12)10
(CAFE)16=( ? )10
=C*16³+A*16²+F*16¹+E*16º
on sait que A=10 et F=15 et C=12 et E=14
donc=12*16³+10*16²+15*16¹+14*16º =12*4096+10*256+15*16+14*1=49152+2560+240+14=(56062)10
ets.......
j'esper que vous avez capter des notions dans ce large module si vous voulez autre chose contacter moi sue "said_respo@tri.com)
4
salut
merci pour votre explication je veux juste savoir est ce que vous avez le code de vb6 de conversion d'un nombre de n'importe quelle base vers d'autres bases exemple: 10 (base10) = 1 *2^1 + 0*2^0=2
et (base2 )= 1010 et (base 8) = 12 et (base 16) et vis vers ça si on donne un nombre de base 2 il nous donne les autre bases j'espére que vous avez saisi cke j veux dire,
alors voisi mon adress msn :mariam_khan_45@hotmail.com j'attens votre réponse et merci d'avance @+
0
SAID TU DOIS RECTIFIER UNE FAUTE CAR LA CONVERSION EN BINAIR a la BASE 2 AU DECIMAL SAFAIT 13 ET NON PAS 12
0
il y'a une méthode plus simple :
Cx16 le produit +A
LA SOMME x16 encors le produit +F
LA SOMME x16 encors le produit +E
et finalement le nombre total est (51966)16
0
plutot (CAFE)16 est égal à (51966)10
0
houssam demnati
12 nov. 2011 à 13:05
1*2³+1*2²+0*2¹+1*2º=8+4+0+1=(13)10
0
Bon eh bien, je ne peux pas te donner de code en Vb, mais grosso modo, un script de conversion baseN en javascript, ça ressemble à ceci :

var alphanum="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
//Impossible d'entrer des nombres négatifs, car ils sont formatté d'une manière différente selon la base...
//Au pire, transférer le "-" sur le nombre terminal.
//Nombre ENTIERS uniquement.
function baseN(nombre,base_initiale,base_finale)
{
//Important d'initialiser cette variable à 0.
var puissRel,nombre_deci=0,tampon="";
//On vérifie si la base initiale est correcte.
if(base_initiale<=1 || base_initiale>36)
{
alert("La base initiale doit être comprise entre 2 et 36.");
return -1;
}
//On vérifie si la base finale est correcte.
if(base_finale<=1 || base_initiale>36)
{
alert("La base finale doit être comprise entre 2 et 36.");
return -1;
}
//On vérifie si le nombre donné est bel et bien un nombre et qu'il ne contient pas de symbole étranges; il faut que les lettres soient majuscules par convention.
//HACK: On convertit nombre en chaîne de caractères en y ajoutant une chaîne vide, et ce afin de pouvoir mettre en majuscules un nombre, car l'argument a aussi bien pu être passé en string qu'en int.
nombre=""+nombre;
nombre=nombre.toUpperCase();
if(!estNombreValide(nombre,base_initiale))
{
alert("La chaîne entrée n'est pas un nombre de base "+base_initiale+" valide.");
return -1;
}
//On commence par vérifier s'il y a une conversion à faire; inutile de perdre de la précision pour rien.
if(base_initiale==base_finale)
return nombre;
//On vérifie si le nombre est zéro, car il est inutile de convertir...
if(nombre==0)
return 0;
//On converti d'abord en base décimale pour pouvoir utiliser les logarithmes.
if(base_initiale==10)
{
//Le nombre est déjà en base 10.
nombre_deci=nombre;
}
else
{
//On converti en base 10.
for(i=0;i<nombre.length;i++)
{
nombre_deci+=parseInt(alphanum.indexOf(nombre.substring(i,i+1)))*Math.pow(base_initiale,nombre.length-i-1);
}
}
//On convertit ensuite vers la base finale. Or, puisqu'on concatène de la gauche vers la droite, mais qu'on écrit les unitées à droite, il faut écrire le nombre à l'envers. Pour ce faire, il faut connaître sa longueur.
//Il faut recourir aux logarithmes. En l'occurence, à ln. Cela nous donne la puissance relative à affecter (position). Exemple : log(2)/log(2) = 1. Or 2 en binaire se note : 10. Effectivement, 1*10^1+0*10^0 = 10.
puissRel=Math.floor(Math.log(nombre_deci)/Math.log(base_finale));
for(i=puissRel;i>=0;i--)
{
//On enregistre le nombre désiré dans un tampon.
num=Math.floor(nombre_deci/Math.pow(base_finale,i));
nombre_deci-=num*Math.pow(base_finale,i);
tampon+=alphanum.substring(num,num+1);
}
return tampon;
}

//Cette fonction analyse la chaîne et vérifie si le caractère est un chiffre accepté dans la base spécifiée.
function estNombreValide(nombre,base)
{
for(i=0;i<nombre.length;i++)
{
caract=nombre.substring(i,i+1);
if(alphanum.indexOf(caract)==-1 || alphanum.indexOf(caract)>=base)
return false;
}
return true;
}

Ce code est long, mais il gère toutes les niaiseries les plus fréquentes et il est surcommenté, parce que tu n'es pas le premier à vouloir savoir comment faire. Et il y en a qui sont vraiment trop incompétents dans leur propre langage de programmation pour le comprendre... -_-'
2
je veux savoir comment on peut faire la conversion du decimal à l'exadecimal.
0
Salut !
Alors pour repondre a ta question de la conversion deci==> hexa personnelement je passe par le binaire .

Exemple : (197)10

ça ferai en binaire 1100 0101(vu que tu ne demande pas la conversion deci ==> binaire je supose que tu la conné ^^)

8 4 2 1 8 4 2 1 <== la conversion donnerai ça en hexa au lieu de ( 128 64 32 / 16 8 4 2 1)10

1 1 0 0 / 0 1 0 1

donc 8+4 en hexa ferai (C) et 4+1 ferai (5) resultat (197)10 = (C5)h

En esperant que tu ai compris le truc ^^
0
Utilisateur anonyme
27 janv. 2008 à 17:29
bonjour,

alors ccm se site explique correctement

ou va fouinner la
http://worldserver.oleane.com/heissler/

sinon demande a google

a++
-1