The matrix Chacun fait ce qu'il en veut. | Deamon a écrit :
Ca me parait pas trop difficile en théorie après en ADA j'en sais rien du tout mais tu lis ton nombre hexa caractère par caractère, tu transforme chacun en nombre (1->1 , ... , A -> 10, ... F->15) et tu fais la somme des produits de chaque nombre avec 16^position du caractère. Sachant que le caractère tout à droite est à la position 0.
Je sais pas si ça répond à ton problème.
|
Ok, merci, donc reconvertir...
Pour le code ci-dessus, il n'est pas exacte ... voici la correction.
Code :
function Hex_Image(Num : Integer) return String is Image : String(1..9); Last : Positive := 9; Number : Integer := num; type Hexa_Digit is ('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'); Rest : Integer; begin loop Rest := (Number rem 16); image(Last) := Character'Value(Hexa_Digit'image(Hexa_Digit'val((Rest)))); number := Number - rest; Last := Last - 1; exit when (Number rem 16) = 0; end loop; image(Last) := Character'Value(Hexa_Digit'image(Hexa_Digit'val(Number/16))); return Image(Last..Image'length); end Hex_Image;
|
J'ai terminé de se côté ci. ---------------
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
|