BigInteger à Hex / Decimal / Octal / Binary chaînes?
En Java, j'ai pu faire
BigInteger b = new BigInteger(500);
Ensuite le format que j'ai le plaisir
b.toString(2); //binary
b.toString(8); //octal
b.toString(10); //decimal
b.toString(16); //hexadecimal
En C#, je peux faire
int num = int.Parse(b.ToString());
Convert.ToString(num,2) //binary
Convert.ToString(num,8) //octal
etc.
Mais je ne peut le faire qu'avec long
valeurs et les plus petits. Est-il une méthode pour imprimer un BigInteger avec une base spécifiée? J'ai posté ceci, BigInteger Analyser Octal Chaîne?, hier, et a reçu la solution de comment convertir pratiquement toutes les chaînes de BigInteger valeurs, mais qui n'ont pas eu de succès à la sortie.
source d'informationauteur snotyak
Vous devez vous connecter pour publier un commentaire.
Après une bonne journée de travail avec BigInteger, j'ai eu une meilleure façon de faire les choses à la sortie de la chaîne de caractères en binaire, essayez cette! (pour les nombres négatifs)
C'est une méthode simple pour convertir un
BigInteger
à toute la base:Il fonctionne parfaitement pour la base de 2-10. Si vous souhaitez produire de l'hexadécimal supérieur ou de la base de chaînes de caractères, Vous devez modifier
a % b
's selon la base avant de l'insérer.