IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MATLAB Discussion :

dec2bin et après bin2vect


Sujet :

MATLAB

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Décembre 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Décembre 2012
    Messages : 2
    Points : 1
    Points
    1
    Par défaut dec2bin et après bin2vect
    salut à tous les membres,
    je veux convertir un nombre x en binaire, et stocker le résultat dans un vecteur
    chaque élément du vecteur = un bit
    par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    x=5;
    xbin = dec2hex(x);
    résultat:
    je veux un vecteur vect = [1 0 1].
    j'ai pensé de résoudre le problème manuellement, ça veut dire je divise x à 2 n fois et je tire le reste:

    Idée de cette algorithme :

    répéter ces instructions n-1 fois jusqu'à q=1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    % n le nombre de bite pour représenter x (je peux le calculer)
    % exemple pour x=5  ==> n=3 (bits)
    étape 1:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    q1=fix(x/2)      q2 = fix(5/2)= fix(2.5)= 2    
    r1=x-2*q        r1= 5-2*2= 1
    étape 2:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    q2=fix(q1/2)   q2=fix(2/2)= 1
    r2=q1-2*q2    r2=2-2*1= 0
    on s’arrête si le dernier q(n-1)=1 /pour notre cas q2=1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    vect=[1 r2 r1]= [1 0 1]
    ********************************
    Merci d'avance

  2. #2
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 302
    Points : 53 165
    Points
    53 165
    Par défaut
    Première solution, tu utilises dec2bin et cette entrée de la FAQ : Comment transformer un signal sous forme de chaine de caractères en valeurs numériques ?

    Deuxième solution, tu utilises directement la fonction bitget
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Décembre 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Décembre 2012
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par Dut Voir le message
    Première solution, tu utilises dec2bin et cette entrée de la FAQ : Comment transformer un signal sous forme de chaine de caractères en valeurs numériques ?

    Deuxième solution, tu utilises directement la fonction bitget
    Merci Merci Merci Dut,
    j'ai résolu mon problème avec la 2ème solution: bitget

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    i=t:-1-1    (t=log2(x))
    bitget(x,i)
    J'ai utilisé cette instruction pour créer une fonction qui calcule le modulo plus puissante que celle du MATLAB

    ex: mod(3^74,100) = 0 !!!! il n'a pas pu calculer

    ma fonction: modch(3,74,100) = 69.


Discussions similaires

  1. action APRES chargement complet ...
    Par PinGuy dans le forum Delphi
    Réponses: 7
    Dernier message: 06/07/2006, 17h16
  2. extraire 2 chiffres après virgule ?
    Par nerick dans le forum C
    Réponses: 2
    Dernier message: 13/12/2002, 17h10
  3. [] Datagrid vide après modification des propriétés
    Par SpaceFrog dans le forum VB 6 et antérieur
    Réponses: 9
    Dernier message: 20/09/2002, 16h37
  4. [interbase]Se logger après une première installation
    Par Ultra-FX dans le forum InterBase
    Réponses: 3
    Dernier message: 13/09/2002, 11h44
  5. Comment ne pas rejouer une animation après un clic ?
    Par mmmmhhh dans le forum ActionScript 1 & ActionScript 2
    Réponses: 4
    Dernier message: 04/09/2002, 16h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo