Java: Conversion de base 256 à base 2

Résolu/Fermé
Edwindarklight - Modifié par Edwindarklight le 17/01/2012 à 18:03
 Edwindarklight - 17 janv. 2012 à 20:26
Bonjour,
j'ai trouver sur ce site un système pour transformer un fichier de n'importe quel type en un fichier binaire.
j'ai lu qu'il fallait lire byte par byte, et convertir à chaque fois le résultat de la base 256 à la base 2.
Néanmoins, n'étant pas un matheux en herbe, je ne connais pas la formule de conversion des bases, donc si quelqu'un pourrait me l'expliquer.
A voir également:

2 réponses

Edwindarklight
17 janv. 2012 à 19:59
Je relance encore finalement, car je viens de penser qu'il fallait que je fasse aussi l'opération inverse, et si c'était au final assez simple pour l'aller, le retour risque d'être difficile...

Ça donne quoi donc pour l'inverse?
0
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 019
17 janv. 2012 à 20:10
1) Tu prends le premier bit
2) Tu multiplies par 2
3) Tu rajoutes le bit suivant
4) Retour en 2
0
Edwindarklight
17 janv. 2012 à 20:26
C'est noté, merci beaucoup !
0
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 019
17 janv. 2012 à 18:08
1) Tu regardes si le nombre est pair, dans ce cas le dernier bit est 0, sinon c'est un 1
2) Tu divises par 2, et tu recommences l'étape 1 jusqu'à atteindre 0.
3) Si tu as un type byte tu dois avoir 8 bits, si il t'en manque rajoute des 0 devant.
-1
Edwindarklight
17 janv. 2012 à 18:14
Merci beaucoup, il y a seulement un truc que j'ai du mal...

Si le nombre est impair, la division par deux donnera un nombre décimal, dans ce cas je continue a diviser en ignorant la virgule?
0
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 019 > Edwindarklight
Modifié par KX le 17/01/2012 à 18:22
Si tu divises des entiers tu n'auras pas de valeurs décimales, ça va tronquer le résultat.
7/2 --> 3
7%2 --> 1
0
Edwindarklight > Edwindarklight
17 janv. 2012 à 18:27
Ahhh!
j'avait oublier que tout les types de variable n'était pas forcément à virgule, merci beaucoup dans ce cas
:D
C'est donc résolu, merci encore.
0