Bonjour. Je travaille actuellement avec un programme qui me renvoi 2 mots, donc 4 bytes.
Je dois réaliser le complement a deux sur chaque byte (c'est a dire retirer 1 puis inverser tous les bytes).
j'ai donc ma valeur decimale que je convertis en binaire. puis lors des test, j'essaye d'inverser tous les bits puis de la reconvertir en decimal et c'est la que ca bloque.
mes bits sont inverse, mais a partir de cette chaine de 1 et de 0, pas moyen de ravoir ma valeur en binaire.
J'avais 56 au debut, et j'obtins -57 a la place de 199 ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 my $v0 =56; use Bit::Vector; my $vec = Bit::Vector->new_Dec(8, $v0); my $bin = $vec->to_Bin(); print"\n**$bin**"; $bin =~ tr/[01]/[10]/; my $vector = Bit::Vector->new_Bin(8,$bin); my $bin2 = $vector->to_Dec();
Pouvez vous m'aider ??
Partager