conversion binaire -> decimal

conversion binaire -> decimal - Algo - Programmation

Marsh Posté le 19-08-2009 à 11:51:56    

Bonjour,
 
Je souhaite convertir un octet en décimal.
je ne suis pas for pour formuler un pseudo-code alors, permettez moi de vous présenter ce que j'ai fais avec Ada.
 

Code :
  1. type T_Byte is array (1..8) of Boolean;
  2.  
  3. function To_Byte(Bbyte : in T_Byte) return Byte is
  4.      The_Byte : Byte := 0;
  5.   begin
  6.      for I in reverse Bbyte'Range loop
  7.         The_Byte := The_Byte + (boolean'Pos(Bbyte(I))*2)**(I-1);
  8.      end loop;
  9.      return The_Byte;
  10.   end To_Byte;


 
Boolean'pos() revoie la position de la valeur => de type entier universel... Selon
Si False => 0 ; Si True => 1;
 
Mon problème, je pense, est que lorsque i=0, The_Byte prend +1;
 
Enfin, j'en rajoute pas, je suis nul en maths, Merci pour votre aide.


Message édité par The matrix le 19-08-2009 à 11:59:23

---------------
des gestes simples et ponctués, par quelques points presque importants, la précision coordonnée, d'une île déserte, des plans secrets, d'un architecte, à la retraite, passionné par son métier, refaire le monde, à son idée, tracer des routes, les emprunter
Reply

Marsh Posté le 19-08-2009 à 11:51:56   

Reply

Marsh Posté le 19-08-2009 à 12:40:09    

T'aurais pas un problème de parenthèse ?
Je ne connais pas la syntaxe ADA mais il faut faire : bit * (2^position) et non (bit * 2)^position
Et là du coup si bit = 0 alors ça pour la position 0 tu auras bien 0.

Message cité 1 fois
Message édité par Deamon le 19-08-2009 à 12:40:52
Reply

Marsh Posté le 19-08-2009 à 12:49:35    

Deamon a écrit :

T'aurais pas un problème de parenthèse ?
Je ne connais pas la syntaxe ADA mais il faut faire : bit * (2^position) et non (bit * 2)^position
Et là du coup si bit = 0 alors ça pour la position 0 tu auras bien 0.


 
Oui, c'est ça... Merci beaucoup !  
 
Oh l'embrouille que je me suis faite.  :pt1cable:


---------------
des gestes simples et ponctués, par quelques points presque importants, la précision coordonnée, d'une île déserte, des plans secrets, d'un architecte, à la retraite, passionné par son métier, refaire le monde, à son idée, tracer des routes, les emprunter
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed