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

C# Discussion :

Conversion d'un nombre réel en un nombre binaire C sharp


Sujet :

C#

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2016
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment

    Informations forums :
    Inscription : Février 2016
    Messages : 21
    Points : 7
    Points
    7
    Par défaut Conversion d'un nombre réel en un nombre binaire C sharp
    bonjour à vous, je veux convertir un nombre réel en un nombre binaire. je vous remercie d'avance

  2. #2
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Points : 5 194
    Points
    5 194
    Par défaut
    bonjour

    google ==> "C# Convert float to binary string"

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2016
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment

    Informations forums :
    Inscription : Février 2016
    Messages : 21
    Points : 7
    Points
    7
    Par défaut
    je demande une réponse pas une question!!!!

  4. #4
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Points : 5 194
    Points
    5 194
    Par défaut
    c'est une réponse

    et la réponse est cherche sur google car la réponse s'y trouve !!!

    Une question posé sur le forum ne devrait exister que parce que, soit la recherche sur google est vraiment compliquée soit parce que la question est réellement
    spécifique...

    D'autre part, tu trouveras surement une réponse plus rapide à ce genre de question via google que via ici (surtout un dimanche)...

    Maintenant, si tu veux vraiment une réponse rapide et que tu n'es pas près à faire des recherches, payes quelqu'un pour le faire à ta place...

    Ya 2 jours, il y a un article qui expliquait que les débutants avaient parfois du mal à avoir des réponses, tu es parfaitement dans la catégorie des nouveaux arrivants, qui exigent
    une réponse, ne font aucun effort apparent pour chercher, etc...

    Le genre de post qui me casse sévèrement les fondements !!!

  5. #5
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Points : 5 194
    Points
    5 194
    Par défaut
    J'ai pris 10 secondes pour taper ce que je t'ai dit dans "google"

    et j'ai trouvé celà qui me semble être une bonne réponse...

    http://stackoverflow.com/questions/2...onversion-in-c

    Fin d'intervention pour moi...

  6. #6
    Expert confirmé
    Inscrit en
    Avril 2008
    Messages
    2 564
    Détails du profil
    Informations personnelles :
    Âge : 64

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 564
    Points : 4 442
    Points
    4 442
    Par défaut
    bonjour

    je veux convertir un nombre réel en un nombre binaire. je vous remercie d'avance
    La question ,comme dit par TheMonz231 ,s'apparente à ca :"je veux un dessert de bananes passes au blinder,car macher ,c'est penible "....

    1/ Un nombre reel au sens mathematique est une abstraction qui n'existe pas en informatique
    2/ Les nombres reels mathematiques ont 2 representants (delegues en chair et en os ) binaires (base 2) qui PRETENDENT les representer :
    - le type Double represente sur 8 octets (bytes en anglais) un reel...
    - type Float represente sur 4 octets un reel...
    La difference entre les 2 est que double est plus précis que single (rappel :la precision d'un nombre est lie au nbre de chiffres utilises pour reprensenter sa valeur : 23.335 est plus précis que 23.35)..

    Que veux-tu exactement ?

    1/ Veux-tu inspecter les octets d'un double ou d'un reel ou les assigner ?

    si c'est le cas le class BitConvrter() est ton ami...Sa methode statique GetBytes(value) restitue un tableau d'octets du nombre fourni (int,long,double,single,boolean etc...)

    2/ Veux-tu inspecter une representation sous forme de chaine des bits (1 et 0) de chacun des octets d'un double ,d'un float ,un int pour les afficher (pour une CONTEMPLATION et MEDITATION)
    - le class Bitarray ( qui stocke un tableau de bit -zero ou un) vient au secours du class BitConverter .....
    Une fois ton "reel",pardon ton Double ou Single converti en tableau d'octets par BitConverter , il est donne à BitArray qui se charge de dissequer -bit à-bit chaque octet ....
    Les elements de BitArray sont des Booleans (true-false,true =>1,false =>0)....

    behind .cs d'un form qui
    - affiche les valeurs des octets d'un float qui vaut 3.0f
    - affiche la representation chaine sous forme de "0" et "1" de chaque octet d'un int qui vaut 3 et d'un float qui 3.0f
    - le premier affichage permet d'interpreter les bits du second mais il faut connaitre la norme IE et les valeurs du -bias de l'exposant et comment est calculer la mantisse en binaire pour un float ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
     
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using System.Collections;
     
    namespace WinBitArray
    {
        public partial class Form2 : Form
        {
     
            private StringBuilder sb = new StringBuilder();
            public Form2()
            {
                InitializeComponent();
            }
            // que valent les 4 octets d'un float ???
            private void btnBitCnvAndBitAr_Click(object sender, EventArgs e)
            {
                sb.Clear();
                float value = 3.0f;
                //
                // Invoke BitConverter.GetBytes to convert float to bytes.
                //
                byte[] array = BitConverter.GetBytes(value);
                foreach (byte element in array)
                {
                    sb.Append(element);
                    sb.Append("-");
                }
                //
                // You can convert the bytes back to a float.
                //
                float result = BitConverter.ToSingle(array, 0);
                sb.AppendLine();
                sb.Append(result);
                this.label1.Text = sb.ToString();
     
            }
            // contemplons les bits d'un int
            private void btnBitArInt_Click(object sender, EventArgs e)
            {
                sb.Clear();
                BitArray myBA = null;
                byte[] intBytes = null;
     
                int N1 = 3;
                intBytes = BitConverter.GetBytes(N1);
                myBA = new BitArray(intBytes);
                sb.AppendLine("-------N1--------------------");
                PrintValues(myBA, 8);
     
     
     
     
                int N2 = -3;
                intBytes = BitConverter.GetBytes(N2);
                myBA = new BitArray(intBytes);
                sb.AppendLine();
                sb.AppendLine("-------N2--------------------");
                PrintValues(myBA, 8);
     
                this.label2.Text = sb.ToString();
            }
            // contemplons les bits d'un float ...ca dnnne le vertige
            // mais alors un double c'est encore plus long comme un jour de ramadan...!!!
            private void btnBitArFloat_Click(object sender, EventArgs e)
            {
                sb.Clear();
                BitArray myBA = null;
                byte[] floatBytes = null;
     
                float  F1 = 3.0f;
                floatBytes = BitConverter.GetBytes(F1);
     
                myBA = new BitArray(floatBytes);
                sb.AppendLine("-------F1--------------------"); 
                PrintValues(myBA, 8);
     
                float F2 = -3.0f;
                floatBytes = BitConverter.GetBytes(F2);
                myBA = new BitArray(floatBytes);
                sb.AppendLine();
                sb.AppendLine("-------F2--------------------"); 
                PrintValues(myBA, 8);
     
                this.label3.Text = sb.ToString();
     
     
            }
     
     
     
            public void PrintValues(IEnumerable myList, int myWidth)
            {
                string formatter = "{0:8}";
     
                int i = myWidth;
                foreach (Object obj in myList)
                {
                    if (i <= 0)
                    {
                        i = myWidth;
                        sb.Append("-");
                    }
                    i--;
                    string b = (bool)obj == true ? "1" : "0";
                    sb.Append(String.Format(formatter, b));
     
                }
            }
            //
     
     
     
     
        }
    }
    bon code....

Discussions similaires

  1. Réponses: 2
    Dernier message: 22/09/2015, 23h49
  2. conversion d'un nombre en binaire en nombre réel
    Par etudiante-m dans le forum MATLAB
    Réponses: 2
    Dernier message: 12/03/2012, 13h23
  3. Fonction de conversion de nombre réel en text
    Par hakim81 dans le forum Delphi
    Réponses: 2
    Dernier message: 05/02/2007, 14h55
  4. Réponses: 7
    Dernier message: 07/03/2006, 09h34
  5. Stocker un nombre réel
    Par julson dans le forum Assembleur
    Réponses: 2
    Dernier message: 01/04/2004, 08h59

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