1. Bonjour tout le monde ! Veillez consulter la Politique de forum pour comprendre nos règles, Merci a vous !
    Rejeter la notice

Stocker des booléens dans un octet

Discussion dans 'Test de logiciel & Echange d'expériences' créé par farban, Fev 22, 2018.

  1. farban

    farban New Member

    Inscrit:
    Fev 21, 2018
    Messages:
    15
    J'aime reçus:
    14
    Le principe est simple: chaque octet est composé de 8 bits donc de 8 booléens.

    Si vous avez besoin de gérer de nombreuse conditions vrai/faux il peut être intéressant d'utiliser un entier pour stocker vos booléens

    Voici un exemple :

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!



    Ainsi pour chaque jour de la semaine je vais utiliser un entier non signé sur 1 octet (8 bits): la position du bit dans la chaine représente le jour à produire (7 jours donc 7 bits utiles) et la valeur du bit indique si le jour est sélectionné.

    Prenons le cas du mercredi : la suite des 8 bits est 0000 1010 (seul les 7 derniers bits nous intéresse dans cet exemple) qui vaut 10 en décimal.

    Je vous propose donc deux procédures qui permettent de gérer cela:

    La première permet de transformer la chaine binaire (qu'il faut générer en testant les valeurs du formulaire) en entier que l'on pourra stocker dans une base de donnée

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!



    puis la seconde fait le contraire : transforme l'entier en chaine binaire qu'il faudra appliquer au formulaire.

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!



    Cette astuce est aussi vieille que l'informatique car elle permettait d'économiser de l'espace disque.
    Mais dans cet exemple elle permet surtout de simplifier grandement le traitement.
     
    #1 farban, Fev 22, 2018
    Dernière édition: Fev 22, 2018
    Tags:
    joker et suenodesign aiment ça.
  2. suenodesign

    suenodesign Well-Known Member
    MEMBRE WX

    Inscrit:
    Jan 1, 2018
    Messages:
    511
    J'aime reçus:
    740
    Intéressent ;)
    Merci

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

     
  3. ProDev

    ProDev Well-Known Member
    MEMBRE WX

    Inscrit:
    Fev 11, 2018
    Messages:
    373
    J'aime reçus:
    373
    Merci

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

     
  4. Kobex

    Kobex Well-Known Member
    MEMBRE WX

    Inscrit:
    Fev 17, 2018
    Messages:
    373
    J'aime reçus:
    257
    Intéressent, mais avec la taille des disques actuel (40Tb sur mon serveurs actuel) y à t-il n autre intérêt ???

    ...sur les smartphone peut-être !!!
     
  5. farban

    farban New Member

    Inscrit:
    Fev 21, 2018
    Messages:
    15
    J'aime reçus:
    14
    Effectivement, l’économie de ressources n'est sans doute plus la première motivation (quoique cela est bien souvent synonyme de performances) mais dans l'exemple cité plus haut, 21 entiers remplacent 126 booléens (en exagérant!). Comme je l'ai précisé, cela simplifie grandement le traitement pour cette gestion de planning ... mais tous les chemins mènent à ROME !
     
  6. joker

    joker New Member
    MEMBRE WX

    Inscrit:
    Jan 30, 2018
    Messages:
    0
    J'aime reçus:
    14
    Bravo

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    & merci pour cette idée !

    En complément & rappel, fonctionnement de l' Algèbre de Boole (logique & plus simple) :

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

     
  7. warjoen

    warjoen Active Member
    MEMBRE WX

    Inscrit:
    Jan 1, 2018
    Messages:
    157
    J'aime reçus:
    122
    Thanks, for your idea
     

Partager cette page

Chargement...