Bibm@th

Forum de mathématiques - Bibm@th.net

Bienvenue dans les forums du site BibM@th, des forums où on dit Bonjour (Bonsoir), Merci, S'il vous plaît...

Vous n'êtes pas identifié(e).

#1 17-03-2021 10:11:38

brics
Membre
Inscription : 14-12-2020
Messages : 4

MSB et LSB

bonjour,
considérons un octet 2C dans la base 16
si je devais connaitre son MSB et son LSB dois-je d'abord le convertir en binaire?

Hors ligne

#2 17-03-2021 15:55:12

Bernard-maths
Membre Expert
Lieu : 34790 Grabels
Inscription : 18-12-2020
Messages : 1 862

Re : MSB et LSB

Bonjour !

si tu ne sais pas autrement, oui passe en binaire ...

Mais si tu connais un peu les nombres pairs et impairs en hexa, tu peux t'en passer ... mais attention ...



MSB(2C) = MSB(2) ? Et LSB(2) = LSB(C) ?



Bernard-maths

Dernière modification par Bernard-maths (17-03-2021 15:59:00)

Hors ligne

#3 17-03-2021 19:39:44

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 17 385

Re : MSB et LSB

Bonsoir,

En Python, je te propose

def Poids_bits(x):
    nb="0x"+x
    b=bin(int(nb,16))
    pf=len(p)-3
    return int(b[2]),int(x,16)%2,pf

msb,lsb,expo=Poids_bits("2C")
print ("MSB =", msb, "ou encore",2**expo)
print ("LSB =",lsb)

:
Seule contrainte, passer ton octet hexadécimal sous forme d'un string.
Python écrit, lui "0x2C" d'où le nb="0x"+x

int(nb,16) convertit nb en un entier en base 10,
b=bin(int(nb,16)) récupère la conversion du décimal en binaire sous forme de string : '0b101100'

pf c'est l'exposant de la puissance correspondant à la la position du 1er en partant de la gauche.
je prends la longueur de p, je lui soustrais 3, parce que longueur-2 calcule le nombre de chiffres en retirant "0b", et je retire encore 1 puisque python compte les index des string, des listes, des tuples, des boucles à partir de 0.
Dans le cas de ton exemple, j'obtiens :

MSB = 1 ou encore 32
LSB = 0

Si j'essaie :
msb,lsb,expo=Poids_bits("DB")

MSB = 1 ou encore 128
LSB = 1

@+

Hors ligne

Réponse rapide

Veuillez composer votre message et l'envoyer
Nom (obligatoire)

E-mail (obligatoire)

Message (obligatoire)

Programme anti-spam : Afin de lutter contre le spam, nous vous demandons de bien vouloir répondre à la question suivante. Après inscription sur le site, vous n'aurez plus à répondre à ces questions.

Quel est le résultat de l'opération suivante (donner le résultat en chiffres)?
soixante seize plus neuf
Système anti-bot

Faites glisser le curseur de gauche à droite pour activer le bouton de confirmation.

Attention : Vous devez activer Javascript dans votre navigateur pour utiliser le système anti-bot.

Pied de page des forums