Différences entre Bit et Booléen
Répondre à la discussion
Affichage des résultats 1 à 7 sur 7

Différences entre Bit et Booléen



  1. #1
    mitonin

    Différences entre Bit et Booléen


    ------

    Bonjour à tous,

    je me demandais quels étaient les différences d'utilisation entre ces deux types de variables? Car les deux pouvant être à 1 ou à 0 uniquement, le bit prenant comme place bin un bit et le booléen un octet, je me demandais pourquoi utiliser un booléen plutôt qu'un bit dans certains cas.


    Voila, merci pour vos futures réponses, j'espère avoir été clair.

    mitonin

    -----

  2. #2
    Jack
    Modérateur

    Re : Différences entre Bit et Booléen

    Il me semble que la moindre des choses serait de préciser de quel langage il s'agit comme précisé dans les règles participatives du foreum;
    http://forums.futura-sciences.com/pr...ves-forum.html

  3. #3
    PA5CAL

    Re : Différences entre Bit et Booléen

    Bonsoir

    Je vais faire une réponse assez générale.

    Dans les langages de haut niveau, le bit apparaît assez rarement comme une unité de stockage, contrairement à l'octet ou au mot (de 16 ou 32 bits selon les systèmes). A quelques exceptions près, on n'y accède seulement qu'en tant que constituant d'une de ces entités. Cela correspond d'ailleurs à ce qui se passe du point de vue matériel.

    Quant au "booléen", il est généralement stocké dans un octet ou un mot, parce que ces entités constituent la base des variables manipulées par la majorité de ces langages.

    Utiliser un bit pour stocker une valeur booléenne est toujours envisageable, et permet d'économiser de la mémoire de donnée. Mais cela implique également de perdre de la mémoire de programme et/ou du temps d'exécution à cause des opérations supplémentaires nécessairespour y accéder.

  4. #4
    mp3dux

    Re : Différences entre Bit et Booléen

    Le Bit est codé sur un bit : donc peut prendre 2 valeurs numériques => 1 ou 0.
    Attention le bit n'est pas un type de base dans tous les langages, il est souvent utilisé dans les milieux embarqués...

    Le booléen peut prendre deux valeurs logiques : Vrai ou Faux en anglais true ou false. Il occupe généralement 1 octet ou parfois la même taille que le int( tout dépend du compilateur et du langage, savoir la taille occupée n'est pas très importante ici), des fois il peut aussi être codé sur un seul bit. Car on peut définir le type bool dans les langages où il ne fait pas partie des types de bases.
    En C par exemple le booléen n'existe pas dans le langage standard, il est souvent défini par des macros, des typedef, etc.
    En C++ il existe.

    En gros comme PA5CAL a dit. Sinon pour l'utilisation le boolean a un syntaxe plus claire, qui veut en gros dire OUI ou NON.
    Alors que 0 ou 1, peut introduire le flou on peut les confondre avec des valeurs 1,2,3,4,...
    Si nous faisions tout ce que nous sommes capables de faire, nous en serions abasourdis. T.E

  5. A voir en vidéo sur Futura
  6. #5
    Optimix

    Re : Différences entre Bit et Booléen

    Bonjour tout le monde,
    Je me pose la même question que Jack. Quel langage (qui se sert d'un type encodé sur 1 bit) utilisez-vous ?
    J'avoue reconnaître être sec sur le sujet, en dehors de l'assembleur où le bit est roi ; je me demande s'il n'y a pas au départ confusion entre "bit" et "byte", le bit valant 1/8 de byte.
    Mais comme il y a belle lurette que j'ai débarqué des systèmes embarqués, je ne demande pas mieux que d'en apprendre ; c'est la seule raison de ma présence sur cet excellent site. Voulez-vous bien répondre à la question de Jack ?

  7. #6
    bisou10

    Re : Différences entre Bit et Booléen

    Salut,

    Même dans l'embarqué, en C, on se sert d'un byte pour représente un booléen. Il y a 2 raisons principale:
    - d'une part l'overhead n'est plus vraiment pertinent, même sur des uc d'entrée de gamme
    - le test et la comparaison sont souvent effectuées telles quelles. C'est dépendant du compilateur, mais 0 ou 1 fonctionnent aussi bien avec des bytes ou des words, donc le typage est plus permissif. Avec des champs de bits, il faudrait masquer le reste systématiquement.

  8. #7
    mp3dux

    Re : Différences entre Bit et Booléen

    Même en assembleur, avoir des variables bits définies par l'utilisateur, et les utiliser sans passer par les masques explicitement ou implicitement, personnellement j'en ai jamais vu que ce soit en lecture ou écriture sur mémoire RAM dynamique ou ROM. Si le support du stockage est toujours l'octet c'est tout simplement impossible sans ces opérations(masque, décalage, opérations binaire). A moins que je ne me trompe.

    Après au niveau des registres processeur c'est assez courant avec les flags par exemple. je parle de l'accès direct au registre, là je sais pas du tout s'il y des opérations supplémentaires ou pas...

    Coté microcontrôleur si je prends les pics 18f, les bits de configurations ou un port précis, port B2, pour accéder à un bit, on accède à tout l’octet et on fait des opérations pour déduire son bit(implicitementou ou non).

    Concernant le support du type bit, ça dépend du langage et du compilateur. Si je prends XC8, par exemple pour les microcontrôleurs microchip qui est C-like, tu peux déclarer des variables bitmpalabX.PNG
    à la page 149 tu as tous les détails pour plus de précisions.


    bit_mplab.PNGÇa permet de manipuler les registres un peu plus aisément et je suis presque sûr que le compilateur procède à certaines optimisations comparé à un type entier normal.


    je sais pas si ça répond un peu à la question...
    Dernière modification par mp3dux ; 21/02/2014 à 18h29.
    Si nous faisions tout ce que nous sommes capables de faire, nous en serions abasourdis. T.E

Discussions similaires

  1. Différences entre des surfaces articulaires entre le talus et le calcanéus
    Par invite2bbdd9ac dans le forum Santé et médecine générale
    Réponses: 2
    Dernier message: 01/05/2012, 02h42
  2. Differences entre dut mp et dut sgm
    Par LELEDEBETTON dans le forum Orientation après le BAC
    Réponses: 1
    Dernier message: 11/02/2011, 08h14
  3. différences entre RAW et BMP
    Par invite36909c7c dans le forum Logiciel - Software - Open Source
    Réponses: 3
    Dernier message: 17/02/2009, 10h01
  4. Différences entre K et Na
    Par invite1427a836 dans le forum Chimie
    Réponses: 1
    Dernier message: 29/11/2007, 16h13
  5. Différences entre les ENS
    Par invitee724e5ad dans le forum Orientation après le BAC
    Réponses: 14
    Dernier message: 20/10/2005, 08h03