Comment convertir une valeur de type double en binaire

Signaler
Messages postés
18
Date d'inscription
lundi 5 mars 2012
Statut
Membre
Dernière intervention
7 novembre 2012
-
Messages postés
15172
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
1 décembre 2020
-
Salut à tous,
SVP je veux convertir une valeur double en binaire. je recoit tjr une mm faute a savoir :
Operator '<<' cannot be applied to operands of type 'int' and 'long'

voici ce que j'ai pu faire

      public void DoubleinBinaereundHexa(double wert)
        {
 
            long bitCount = sizeof(double) * 8;         
            char[] result = new char[bitCount]; 
 
            
            long lgValue = BitConverter.ToInt64(BitConverter.GetBytes(wert), 0);
            
            
            for (long bit = 0; bit < bitCount; ++bit)
            {
                long maskwert = lgValue & (1 << bit);
                if (maskwert > 0)
                {
                    maskwert = 1;
                }
 
                
                result[bitCount - bit -1] = maskwert.ToString()[0]; 
            }
            Console.Write("\n\nBinaere Darstellung:\t");
 
            for (int i = 0; i < 64; i++)
            {
 
                if (i % 4 == 0)
                    Console.Write(" ");
                if (result[i] == '-')
                {
                    result[i] = '1';
                }
                Console.Write(result[i]);
 
            }
        } 


SVP quelqu'un peut il m'aider?
merci d'avance.

The Righteous will live by faith.
Galatians 3:12

1 réponse

Messages postés
15172
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
1 décembre 2020
465
Bonsoir
quand tu écris
(1 << bit)

Tu demander au compilateur de décaler dans 1 vers la gauche de la valeur de bit. Or 1 n'est pas une variable donc ça ne marche pas.

Ceci est accepté par le compilateur
(bit << 1)
, après je ne sais pas si ça fait ce que tu veux.


Whismeril