Enigmes

Forum dédié aux énigmes et à toutes formes de jeux de logique.

Déconnexion

Tu n'es pas identifié sur Prise2tete : s'identifier.

accueil Accueil forum Forum
[+]

Écrire une réponse

Attention : Aucun indice ou demande d'aide concernant les énigmes de Prise2Tete n'est accepté sur le forum ! Rends-toi sur le cercle des sages si tu as besoin d'aide !
Tout nouveau message ou sujet ne respectant pas cette règle sera supprimé, merci.
Rédige ton message
| | | | Upload | Aide
:) :| :( :D :o ;) :/ :P :lol: :mad: :rolleyes: :cool:
Options
Sécurité

Répondez (numériquement) à la petite énigme suivante : 

Dans une course, vous doublez le 19ème, en quelle position êtes-vous ?

Retour

Résumé de la discussion

scarta
10-11-2010 09:18:24

Les codeurs fous n'auront aucun mal avec ces petits problèmes, pour les autres c'est une bonne occasion de découvrir les subtilités de l'informatique.

Dans un ordinateur, les nombres entiers sont représentés via des bits, qui correspondent à l'écriture de ces nombres en base 2. Par exemple, 37 s'écrit 100101 en binaire
Par ailleurs, un processeur propose un jeu d'instructions, plus ou moins coûteuses en temps. Par exemple, "Comparer deux nombres" ou "Faire une division de deux nombres".

Parmi les opérations les moins coûteuses, on trouve
- les opérateurs logiques
  *  ET, qui agit sur 2 bits et donne comme résultat 1 si et seulement si les deux bits valent 1,
  *  OU, qui agit sur 2 bits et donne comme résultat 1 si et seulement si l'un des deux bits au moins vaut 1,
  *  XOR ou OU EXCLUSIF, qui agit sur 2 bits et donne comme résultat 1 si et seulement si un et un seul des deux bits vaut 1
- les décalages
  * DÉCALAGE DROITE décale tous les bits d'un nombre d'un certain nombre de crans vers la droite
  * DÉCALAGE GAUCHE décale tous les bits d'un nombre d'un certain nombre de crans vers la gauche
- certains indicateurs de tests
  * Savoir si le dernier résultat vaut 0

Parmi les opérations un peu plus coûteuses, on trouve
- les opérateurs arithmétiques + et -

Parmi les opérations encore plus coûteuses, on trouve
- les opérateurs arithmétiques * et /, ainsi que le modulo

Sachant tout cela, quel est le moyen le plus rapide de répondre à ces questions, en utilisant uniquement les opérations ci-dessus et de préférence les moins coûteuses?

1.1) Comment multiplier un nombre par 2 ?
1.2) Comment multiplier un nombre par 2^n ?

2.1) Comment diviser un nombre par 2 ?
2.2) Comment diviser un nombre par 2^n ?

3) Comment savoir si deux nombres sont identiques ?

4.1) Comment calculer le modulo 2 d'un nombre ?
4.2) Comment calculer le modulo 2^n d'un nombre ?

5) Comment savoir si un nombre est une puissance de 2 ?

6) Comment savoir si la somme de deux nombres vaut 1 de moins qu'une puissance de 2?

Pied de page des forums

P2T basé sur PunBB
Screenshots par Robothumb

© Copyright 2002–2005 Rickard Andersson

Prise2Tete Forum Statistiques Liste des membres Hall of Fame Contact
© Prise2tete - Site d'énigmes et de réflexion.
Un jeu où seules la réflexion, la logique et la déduction permettent de trouver la solution.

Flux RSS de Prise2Tete Forum Jeux & Prise2Tete Test & Prise2Tete Partenariat et Publicité sur Prise2Tete