Binaires decimal hexadecimal et autres

Avogadro -  
 houssam demnati -
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

4 réponses

said_respo
 
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
mariam khan
 
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
NAW
 
SAID TU DOIS RECTIFIER UNE FAUTE CAR LA CONVERSION EN BINAIR a la BASE 2 AU DECIMAL SAFAIT 13 ET NON PAS 12
0
hani
 
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
hani
 
plutot (CAFE)16 est égal à (51966)10
0
houssam demnati
 
1*2³+1*2²+0*2¹+1*2º=8+4+0+1=(13)10
0
Mish
 
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
loulou
 
je veux savoir comment on peut faire la conversion du decimal à l'exadecimal.
0
Low
 
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
 
bonjour,

alors ccm se site explique correctement

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

sinon demande a google

a++
-1