Valeur d'un Byte

Résolu
theflayer Messages postés 125 Date d'inscription dimanche 28 février 2010 Statut Membre Dernière intervention 21 juin 2015 - 23 juil. 2010 à 21:51
theflayer Messages postés 125 Date d'inscription dimanche 28 février 2010 Statut Membre Dernière intervention 21 juin 2015 - 25 juil. 2010 à 14:07
Bonjour ! Encore moi

Bon un petit problème rapide soumis au expert.

string bcbinaire = Convert.ToString(mbc, 2).PadLeft(8, '0');

char[] chars = bcbinaire.ToCharArray();
Array.Reverse(chars);
string bcbinaireinverse = new String(chars);

Byte bdc1 = Convert.ToByte(bcbinaireinverse);

Pofffff ! ERREUR !
La valeur était trop grande ou trop petite pour un octet non signé.
le but est que je vais faire ca apres .

Byte Broad1 = (byte)(~ip1 | ~bdc1);
Quelqu'un aurait une idée pour cela ?
Merci d'avance.

Linux c'est une question de VI ou de MORE !
Si Bill Gates donnait du lait à ses programmeurs, ça ferait peut-être des OS costaud.

6 réponses

cs_Robert33 Messages postés 834 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 14 janvier 2017 33
25 juil. 2010 à 12:44
Bonjour

si tu es en .net 3.5

byte reverse_mbc = Convert.ToByte(new string(Convert.ToString(mbc, 2).PadLeft(8, '0').Reverse().ToArray()),2);


Note : pense à mettre :
using System.Linq;


Bob
C# is amazing, enjoy it!
3
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
24 juil. 2010 à 11:02
Salut,

La classe bit array peut t'aider
http://msdn.microsoft.com/en-us/library/system.collections.bitarray.aspx

ensuite
http://msdn.microsoft.com/en-us/library/b1kwkfdz.aspx

Avec c'est 2 methodes tu devrais y arriver.
0
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
24 juil. 2010 à 11:23
Salut,

Convert.ToByte(String) et Byte.Parse(String) prennent du base 10 en entrée, pas du base 2.

Convert.ToByte(String, Int32) permet de gérer d'autres bases, mais dans le cas présent je ne vois du coup pas trop l'intérêt.


/*
coq
MVP Visual C#
CoqBlog
*/
0
theflayer Messages postés 125 Date d'inscription dimanche 28 février 2010 Statut Membre Dernière intervention 21 juin 2015 2
24 juil. 2010 à 23:03
Coucou , merci pour les réponses . nbervagault j'étudie ton truc , pas facile encore .

Coq , ça me semblait bien mais quand je fais
Convert.ToByte(String, Int32) ça me fais l'exception :
Int32 est un type mais utilisé comme une variable :'(

Linux c'est une question de VI ou de MORE !
Si Bill Gates donnait du lait à ses programmeurs, ça ferait peut-être des OS costaud.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
24 juil. 2010 à 23:09
Il faut aller voir msdn

http://msdn.microsoft.com/en-us/library/c7xhf79k.aspx

C'est les signature que coq a mis
il faut faire un peu de recherche et pas copier betement les codes postés ;-)
il faut chercher a comprendre ce qui est dit.
0
theflayer Messages postés 125 Date d'inscription dimanche 28 février 2010 Statut Membre Dernière intervention 21 juin 2015 2
25 juil. 2010 à 14:07
Super Robert ça marche niquel ! Je me demande d'où vous pouvez connaitre tous ça :o.

Plus qu'a faire un OU-NON entre mon ip et mon masque inverse et ça devrais me donner le broadcast !
Byte Broad1 = (byte)(~ip1 | ~mbc); Ça devrais le faire je pense ?
Ah je suis content :D.

Linux c'est une question de VI ou de MORE !
Si Bill Gates donnait du lait à ses programmeurs, ça ferait peut-être des OS costaud.
0
Rejoignez-nous