Comment convertir un nombre entier en sa représentation binaire ?
J'utilise ce code :
String input = "8";
String output = Convert.ToInt32(input, 2).ToString();
Mais il y a une exception :
Impossible de trouver des chiffres analysables
Comment convertir un nombre entier en sa représentation binaire ?
J'utilise ce code :
String input = "8";
String output = Convert.ToInt32(input, 2).ToString();
Mais il y a une exception :
Impossible de trouver des chiffres analysables
Comment cela fonctionne-t-il ? Le "2" est-il la base et fonctionnera-t-il pour n'importe quelle base ?
Cela ne marchera pas. J'ai simplement essayé string binary = Convert.ToString(533, 26);
et j'ai obtenu une ArgumentException : Base invalide
Oui, d'après MSDN : seules les bases classiques sont supportées. msdn.microsoft.com/fr/us/library/8s62fh68(v=vs.110).aspx Type de toBase : System.Int32 La base de la valeur de retour, qui doit être 2, 8, 10 ou 16.
Très simple, sans code supplémentaire, juste entrée, conversion et sortie.
using System;
namespace _01.Decimal_to_Binary
{
class DecimalToBinary
{
static void Main(string[] args)
{
Console.Write("Decimal: ");
int decimalNumber = int.Parse(Console.ReadLine());
int remainder;
string result = string.Empty;
while (decimalNumber > 0)
{
remainder = decimalNumber % 2;
decimalNumber /= 2;
result = remainder.ToString() + result;
}
Console.WriteLine("Binary: {0}",result);
}
}
}
http://zamirsblog.blogspot.com/2011/10/convert-decimal-to-binary-in-c.html
public string DecimalToBinary(string data)
{
string result = string.Empty;
int rem = 0;
try
{
if (!IsNumeric(data))
error = "Invalid Value - This is not a numeric value";
else
{
int num = int.Parse(data);
while (num > 0)
{
rem = num % 2;
num = num / 2;
result = rem.ToString() + result;
}
}
}
catch (Exception ex)
{
error = ex.Message;
}
return result;
}
Convert.ToInt32(string, base)
ne fait pas de conversion en base dans votre base. Il suppose que la chaîne de caractères contient un nombre valide dans la base indiquée, et convertit en base 10.
Vous obtenez donc une erreur parce que "8" n'est pas un chiffre valide en base 2.
String str = "1111";
String Ans = Convert.ToInt32(str, 2).ToString();
Montrera 15
(1111 base 2 = 15 base 10)
String str = "f000";
String Ans = Convert.ToInt32(str, 16).ToString();
Montrera 61440
.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.
1 votes
Essayez-vous de convertir la représentation en chaîne d'un nombre, ou un nombre réel ? Et essayez-vous de convertir en décimal, ou en int ? Votre exemple ne correspond pas vraiment à votre question.
0 votes
Si vous cherchez à convertir des décimales en octets, vous pouvez utiliser ce code : gist.github.com/eranbetzalel/
1 votes
Vous essayez d'analyser une chaîne en base 10 en base 2. C'est pourquoi l'appel échoue.