[c] Ror
Fermé
Olivier
-
2 janv. 2006 à 16:42
JvDo Messages postés 1978 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 28 septembre 2020 - 4 janv. 2006 à 00:05
JvDo Messages postés 1978 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 28 septembre 2020 - 4 janv. 2006 à 00:05
4 réponses
Zep3k!GnO
Messages postés
2025
Date d'inscription
jeudi 22 septembre 2005
Statut
Membre
Dernière intervention
18 novembre 2015
200
3 janv. 2006 à 14:15
3 janv. 2006 à 14:15
Manuellemment j'obtiens 140... avec mon programme 3200, ce qui est bien mais pas top !
Je préfers d'abord un whisky... :D
bin quand tu fais un décalage de bit vers la droite de 1, cela revien a multiplier ton nombre par 2 , donc pour un décalage de 4, ca revient a :
200 * 16 = 3200
Voilà .
Zep3k!GnO
Je préfers d'abord un whisky... :D
bin quand tu fais un décalage de bit vers la droite de 1, cela revien a multiplier ton nombre par 2 , donc pour un décalage de 4, ca revient a :
200 * 16 = 3200
Voilà .
Zep3k!GnO
JvDo
Messages postés
1978
Date d'inscription
mercredi 27 juillet 2005
Statut
Membre
Dernière intervention
28 septembre 2020
858
3 janv. 2006 à 16:10
3 janv. 2006 à 16:10
Hello,
ça ne serait pas plutôt une division qund on décale à droite??
ce qui rend cohérent le résultat de ton programme puisque tu codes réellement un ROL qui est une multiplication (par 2^4 dans ton cas).
et comme tu fais manuellement un ROR tu obtiens 140.
cordialement
ça ne serait pas plutôt une division qund on décale à droite??
ce qui rend cohérent le résultat de ton programme puisque tu codes réellement un ROL qui est une multiplication (par 2^4 dans ton cas).
et comme tu fais manuellement un ROR tu obtiens 140.
cordialement
Zep3k!GnO
Messages postés
2025
Date d'inscription
jeudi 22 septembre 2005
Statut
Membre
Dernière intervention
18 novembre 2015
200
3 janv. 2006 à 16:29
3 janv. 2006 à 16:29
Il est possible en effet que je me soit emmellé les pinceaux... :D
Je ne me me souviens jamais à 100 % dans quel sens c'est ;)
Mais l'idée est la :P , ca fait trop de temp que je n'ai pas eu à m'en servir .
:D
Zep3k!GnO
Je ne me me souviens jamais à 100 % dans quel sens c'est ;)
Mais l'idée est la :P , ca fait trop de temp que je n'ai pas eu à m'en servir .
:D
Zep3k!GnO
Merci pour vos réponses !
Cependant, je crois que je suis encore à l'ouest ! Pour faire un roR de 4, si j'ai bien compris, il s'agit d'une division par 2^4, c'est à dire 16...
mais 200/16 = 12.5 nan ?
Merci pour votre patience :)
Cependant, je crois que je suis encore à l'ouest ! Pour faire un roR de 4, si j'ai bien compris, il s'agit d'une division par 2^4, c'est à dire 16...
mais 200/16 = 12.5 nan ?
Merci pour votre patience :)
JvDo
Messages postés
1978
Date d'inscription
mercredi 27 juillet 2005
Statut
Membre
Dernière intervention
28 septembre 2020
858
4 janv. 2006 à 00:05
4 janv. 2006 à 00:05
bonsoir,
le ROR ne fait pas toujours une division puisqu'il réinjecte dans le bit de gauche ce qu'il éjecte par la droite.
ainsi 200 qui s'écrit 11001000 sera transformé successivement en
RoR (1, 200) = 01100100
RoR (2, 200) = 00110010
RoR (3, 200) = 00011001
RoR (4, 200) = 10001100 soit 140 (ou -116)
si tu avais pris 192 ou quelque chose dont les 4 bits de poids faibles sont nuls, tu aurais une division par 16 puisque tu ne ferais sortir à droite (et donc rentrer à gauche) que des 0.
Attention cependant à la longueur de ta zone de travail. Dans ton exemple (celui du premier post), tu étais en 32 bits.
Là, le RoR manuel était sur un octet.
je ne sais pas trop ce que ça donne avec le bit de signe; le 140 est-il un -116?
A+
le ROR ne fait pas toujours une division puisqu'il réinjecte dans le bit de gauche ce qu'il éjecte par la droite.
ainsi 200 qui s'écrit 11001000 sera transformé successivement en
RoR (1, 200) = 01100100
RoR (2, 200) = 00110010
RoR (3, 200) = 00011001
RoR (4, 200) = 10001100 soit 140 (ou -116)
si tu avais pris 192 ou quelque chose dont les 4 bits de poids faibles sont nuls, tu aurais une division par 16 puisque tu ne ferais sortir à droite (et donc rentrer à gauche) que des 0.
Attention cependant à la longueur de ta zone de travail. Dans ton exemple (celui du premier post), tu étais en 32 bits.
Là, le RoR manuel était sur un octet.
je ne sais pas trop ce que ça donne avec le bit de signe; le 140 est-il un -116?
A+