Valeur d'un Byte [Résolu]

theflayer 125 Messages postés dimanche 28 février 2010Date d'inscription 21 juin 2015 Dernière intervention - 23 juil. 2010 à 21:51 - Dernière réponse : theflayer 125 Messages postés dimanche 28 février 2010Date d'inscription 21 juin 2015 Dernière intervention
- 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.
Afficher la suite 

6 réponses

Répondre au sujet
cs_Robert33 835 Messages postés samedi 15 novembre 2008Date d'inscription 14 janvier 2017 Dernière intervention - 25 juil. 2010 à 12:44
+3
Utile
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!
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_Robert33
nhervagault 6069 Messages postés dimanche 13 avril 2003Date d'inscription 15 juillet 2011 Dernière intervention - 24 juil. 2010 à 11:02
0
Utile
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.
Commenter la réponse de nhervagault
cs_coq 6366 Messages postés samedi 1 juin 2002Date d'inscription 2 août 2014 Dernière intervention - 24 juil. 2010 à 11:23
0
Utile
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
*/
Commenter la réponse de cs_coq
theflayer 125 Messages postés dimanche 28 février 2010Date d'inscription 21 juin 2015 Dernière intervention - 24 juil. 2010 à 23:03
0
Utile
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.
Commenter la réponse de theflayer
nhervagault 6069 Messages postés dimanche 13 avril 2003Date d'inscription 15 juillet 2011 Dernière intervention - 24 juil. 2010 à 23:09
0
Utile
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.
Commenter la réponse de nhervagault
theflayer 125 Messages postés dimanche 28 février 2010Date d'inscription 21 juin 2015 Dernière intervention - 25 juil. 2010 à 14:07
0
Utile
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.
Commenter la réponse de theflayer

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.