Codage binaire

Fermé
bolo - 1 déc. 2003 à 18:59
bolo972 Messages postés 87 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 7 avril 2006 - 5 déc. 2003 à 20:58
salut


je savais ou trop mettre ce post

je suis en train d'étudier le codage binaire de réel non signé

j'ai essaye de conertir
67(8) en base 10
j'aimerai savoir
pourquoi il faut faire ca
7 + 6* 8 = 55

et non 7*8+6 = 66 ?

pour cet exemple c6 (16)
j'aimerai également savoi pour faire ainsi
16*12+6
et non
16*6+12

merci

21 réponses

Nettogrof Messages postés 521 Date d'inscription lundi 29 septembre 2003 Statut Membre Dernière intervention 8 décembre 2005 672
1 déc. 2003 à 19:30
Je vais tenter de te l'expliquer...

en base 10 prenons 123

c'est égale à 1 * 10 * 10 + 2 *10 + 3 = 123

en base 8 prenons 67

on fait le meme procédé
6 * 8 + 7 =55

en binaire

101010 = 1*2*2*2*2*2 + 0*2*2*2*2 +1*2*2*2 + 0*2*2 + 1* 2 + 0 == 32 +0 +8+0+2+0 == 42

Nettogrof tseb era seiromem emoS
0
dc par expempre pour
10011 (2) = 1 (4^2)+0(3^2)+0(2^2)+1(1^2)+1(0^2=
= 19

?
0
Nettogrof Messages postés 521 Date d'inscription lundi 29 septembre 2003 Statut Membre Dernière intervention 8 décembre 2005 672
1 déc. 2003 à 19:51
Exacte!!

Et pour les autre base tu as jsute à changer les "2" pour la base approprié ( 8,10, 16)


Nettogrof tseb era seiromem emoS
0
quand c des réel signé c pareil ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
bolo972 Messages postés 87 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 7 avril 2006 6
1 déc. 2003 à 20:06
par exemple comment faire pour coder
-1 en base 2 ?

merci

http://www.independza.com
http://moi.independza.com
0
Parlez du Big/Little Endian qu'on rigole un instant :-D . (le décimal usuel est BE)

Pour -1 on prend la valeur absolue puis on complémente et on ajoute 1.

00000001 -> 1111110 -> 11111111
0
bolo972 Messages postés 87 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 7 avril 2006 6
1 déc. 2003 à 20:20
donc
première je mets - 1 en valeur absolue qui me donne cela
0000 0001

puis apres on fais koi ? on complete quoi ?
j'ai pas compris apres

http://www.independza.com
http://moi.independza.com
0
si tu veux coder -1 sur 8 bit:
tu le marque en valeur absolue :0000 0001
ensuite a partir du premier 1 tu inverse tous (en gardant le premier 1) donc on a :1111 1111
exemple pour -2:
valeur absolue : 0000 0010
on inverse : 1111 1110
0
adoulti Messages postés 56 Date d'inscription mardi 21 octobre 2003 Statut Membre Dernière intervention 24 juin 2007
3 déc. 2003 à 22:22
Bonsoir,
est ce que vous pouvez m'expliquer ça ci c'est possible:
"· Permettre une multiplication par 2n (en effet le fait de décaler un nombre binaire d'un chiffre à gauche le multiplie par 2, ainsi en effectuant cette opération n fois on obtient une multiplication par 2n)
exemple:
00010 (2 en décimale)
00100 (on décale à gauche on obtient 4)
01000 (on décale à gauche à nouveau, on obtient 8) "
j'arrive pas a comprendre cette histoire de décalage.
merci.
0
Marden Messages postés 1072 Date d'inscription dimanche 11 février 2001 Statut Membre Dernière intervention 29 janvier 2006 208 > adoulti Messages postés 56 Date d'inscription mardi 21 octobre 2003 Statut Membre Dernière intervention 24 juin 2007
3 déc. 2003 à 22:55
Bonsoir,

C'est exactement la même chose qu'en décimal ... sauf qu'en décimal ... la base est 10 qui s'écrit, comme toutes les bases dans leur base avec un "1" suivi d'un "0" (autrement dit "10"). Etonnant, non ?
0
bolo972 Messages postés 87 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 7 avril 2006 6 > Marden Messages postés 1072 Date d'inscription dimanche 11 février 2001 Statut Membre Dernière intervention 29 janvier 2006
5 déc. 2003 à 20:58
J'aimerais savoir lorsque l'on fait un multiplcation d'un nombre négatif et d'un nombre positif c'est la meme chose

j'ai essaye de multiplier
-5*7 j'ai ca

1011
*0111
-----
1011
1011.
1011..
1011...
0000....
-------
1001101

Est ce que c bon ?

http://www.independza.com
http://moi.independza.com
0
bolo972 Messages postés 87 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 7 avril 2006 6
1 déc. 2003 à 20:33
dc pour coder en
-10 ca donne
valeur absolue
0000 1010
puis j'ajoute 1
1111 1010
? c bien ca ?
http://www.independza.com
http://moi.independza.com
0
00001010 -> 11110101 -> 11110110
0
bolo972 Messages postés 87 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 7 avril 2006 6
1 déc. 2003 à 20:39
c 'est pas ce que j'ai ecris ?

http://www.independza.com
http://moi.independza.com
0
Non regarde bien ce que tu as complémenté -> [1111]1010 or il faut tout complémenter càd [11110101] puis apres on ajoute 1.
0
bolo972 Messages postés 87 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 7 avril 2006 6
1 déc. 2003 à 20:47
je m'embrouille dans le message précédent de lejujusms il dit qui faut
" ensuite a partir du premier 1 tu inverse tous (en gardant le premier 1) donc on a :1111 1111 "

c'est pas ce qu'il faut faire
?

http://www.independza.com
http://moi.independza.com
0
bob a ecrit -10:
00001010 -> 11110101 -> 11110110
valeur absolue on garde le premier 1 puis on
inverse
0
bolo972 Messages postés 87 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 7 avril 2006 6
1 déc. 2003 à 20:59
ok j'ai compris :)
j'ailmerais savoir si je veux coder -1 en base 16 je fais comment ?


http://www.independza.com
http://moi.independza.com
0
A mon avis le plus simple c'est de passer par le binaire puis passer par l'hexa.

binaire:

0000001 -> 11111110 -> 11111111

hexa:

1111 1111 -> FF
0
bolo972 Messages postés 87 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 7 avril 2006 6
1 déc. 2003 à 21:15
ok je vais faire ainsi

merci ;)

http://www.independza.com
http://moi.independza.com
0
bolo972 Messages postés 87 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 7 avril 2006 6
1 déc. 2003 à 21:55
j'ai essaye de code 129(10) en base 2 et j'ai trouve cela
1000 0001 (2)

dans le tableau de mon prof c marque inpossible de codé en 8 bits
ou je me suis trompée
merci

http://www.independza.com
http://moi.independza.com
0
rubidium Messages postés 95 Date d'inscription jeudi 13 novembre 2003 Statut Membre Dernière intervention 16 juillet 2006
1 déc. 2003 à 23:41
Juste une petite precision de vocabulaire. L'operation décrite fort justement par Bob s'appelle complement à 2 (complement à 1 de la valeur absolue en base 2 puis addition de 1 sur le bit de poids faible).
Et effectivement tu ne peux pas représenter 129(10) sur un octet signé, car pour des entiers tu utilises 8 bits, donc 2^8 = 256 valeurs, mais avec le signe tu n'as plus que 2^(8-1)=128 valeurs.
La plage de valeur est 2^(8-1)-1=127 --> -2^(8-1)-1=-128 donc pas de 129 possible.
0
bolo972 Messages postés 87 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 7 avril 2006 6
2 déc. 2003 à 14:22
pour code 129 bit il faut 16 bis alors ?

http://www.independza.com
http://moi.independza.com
0
rubidium Messages postés 95 Date d'inscription jeudi 13 novembre 2003 Statut Membre Dernière intervention 16 juillet 2006
2 déc. 2003 à 14:50
Il faut 16 bits si tu veux que ce soit signé. Sinon 8 suffisent.
0
bolo972 Messages postés 87 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 7 avril 2006 6
2 déc. 2003 à 16:21
j'ai deux autre questions
1. pour pouvoir convertir un nombre en base 2 j'utilse la division
comment faire pour diviser un nombre par exp
2/3 et avoir toujour un nombre entier

je m'en souviens +

2. quand on a un chiffre relatif comme 2.25

comment faire pour le convertir en base 2

merci
http://www.independza.com
http://moi.independza.com
0