Partage
  • Partager sur Facebook
  • Partager sur Twitter

Soustraction base octal

soustraire une valeur inférieur par une valeur supérieur

30 octobre 2015 à 11:47:24

Salut,

Dans le cas d'un soustraction lorsque qu'on soustrait une valeur inférieur par une valeur supérieur, on doit appliquer un système d’emprunt.

Cependant dans le cas suivant: 701 - 1077

Comment fait-on ?

Dès le début si je veut faire 1-7 je dois emprunter à son voisin de gauche mais ici c'est un zéro.

  • Partager sur Facebook
  • Partager sur Twitter
30 octobre 2015 à 12:01:03

Déjà 701 est < 1077 ce qui ne correspond pas à ta donnée de départ.

Pose la même soustraction en décimal et regarde ce que tu fais. En octal, au lieu "d'emprunter" 10 comme en décimal, tu "empruntes" 7.

  • Partager sur Facebook
  • Partager sur Twitter
Le 25 juillet 2016, j'ai essayé une Ford Mustang.
30 octobre 2015 à 12:43:50

Souviens toi de ce que tu faisais en primaire pour les soustractions ;)

Quand il n'était pas possible de faire une soustraction direct, il y avait une retenue ;)

Exemple : pour faire 73 - 28, on procéde ainsi :

1/ On voudrait faire 3-8 mais ce n'est pas possible...

2/ On ajoute 10 de façon à faire 10+3-8 = 5, ce qui va créer une retenue pour la soustraction suivante

3/ On fait 7-2-LaRetenue = 7-2-1 = 4

Donc 73-28 = 45

-
Edité par lorrio 30 octobre 2015 à 12:44:02

  • Partager sur Facebook
  • Partager sur Twitter
30 octobre 2015 à 13:00:07

Donc 701 - 1077

1 - 7, on peut pas donc 7 + 1 - 7 = 1 je retiens 1

0 - 7 - 1 = 2*7 - 7 - 1 = 6 je retiens 2

7 - 0 - 2 = 5

0 - 1 = 6 je retiens 1

Enfin bref je suppose que c'est faux

  • Partager sur Facebook
  • Partager sur Twitter
30 octobre 2015 à 14:20:13

Gérard68 a écrit:

Déjà 701 est < 1077 ce qui ne correspond pas à ta donnée de départ.

Tu n'as pas répondu à cette interrogation.

  • Partager sur Facebook
  • Partager sur Twitter
Le 25 juillet 2016, j'ai essayé une Ford Mustang.
30 octobre 2015 à 14:32:32

Le système décimal correspond à un comptage en base 10 avec des nombres de 0 à 9.

Quand on fait une retenue dans ce système, on ajoute 10, ce qui correspond au chiffre de la base du système.

Cette retenue sera symbolisée par un -1 à l'opération suivante


Le système octal correspond à un comptage en base 8 avec des nombres de 0 à 7.

Du coup, pour la retenue, c'est là encore le chiffre de la base et donc +8 et non +7 ;)

Cette retenue sera là encore symbolisée par un -1 à l'opération suivante


La première opération consiste donc à faire :

  • Calcul 1-7 impossible
  • Du coup, on met en place la retenue avec un +8 et pour opération et un -1 pour la suivante
  • Calcul 8+1-7 = 2

Pour la seconde opération :

  • Calcul 0-7-1 impossible
  • Du coup, on met en place la retenue avec un +8 et pour opération et un -1 pour la suivante
  • Calcul 8-7-1 = 0

Pour la troisième opération :

  • Calcul 7-0-1 = 6

Pour la quatrième opération :

  • Problème, on a une soustraction avec 3 chiffres (701) d'un coté et 4 de l'autre (1077)
  • On va donc faire 0701-1077 pour avoir 4 chiffres des 2 cotés
  • Ce qui demande à faire le calcul : 0-1 qui est impossible
  • Mais on ne va pas non plus faire une retenue puisqu'il n'y a rien après...
  • On se retrouve donc avec une opération 0-1 = -1

On aurait d'ailleurs pu prévoir ce problème puisque 701 est plus petit que 1077...

Le résultat est donc forcément négatif...

L'idée consiste donc à faire 1077-701 puis dire que le résultat obtenue est négatif.

Première opération :

  • 7-1 = 6

Deuxième opération :

  • 7-0 = 7

Troisième opération :

  • 0-7 impossible
  • Du coup, on met en place la retenue avec un +8 et pour opération et un -1 pour la suivante
  • 8+0-7 = 1

Quatrième opération :

  • 1-0-1 = 0

Ce qui nous donne 1077 - 701 = 0176 = 176

Et donc 701 - 1077 = -176

  • Partager sur Facebook
  • Partager sur Twitter
30 octobre 2015 à 14:37:10

Ok je comprends mieux avec ça !

Merci !

  • Partager sur Facebook
  • Partager sur Twitter
30 octobre 2015 à 17:00:27

Est-ce que 1101.01 - 1001.10 = 11.11 ?

Et 7504 - 12.3 = 7471.5 ?

-
Edité par seriousbanana2000. 30 octobre 2015 à 17:08:45

  • Partager sur Facebook
  • Partager sur Twitter
30 octobre 2015 à 17:12:04

Cela dépend dans quelle base tu sous entend la question.


Si c'est de l'octal, la réponse est non.

En effet, en octal, on a 1101.01 - 1001.10 = 77.71


En revanche, vu qu'il n'y a que des 0 et des 1, on pourrait supposer que la question concerne du binaire.

Dans ce cas là, la réponse est oui, on a bien 1101.01 - 1001.10 = 11.11 en binaire.


Quand à 7504 - 12.3, si c'est de l'octal, la bonne réponse est effectivement 7471.5

-
Edité par lorrio 30 octobre 2015 à 17:13:35

  • Partager sur Facebook
  • Partager sur Twitter
30 octobre 2015 à 17:23:41

Oui c'est bien du binaire et de l'octal.

Merci

  • Partager sur Facebook
  • Partager sur Twitter
30 octobre 2015 à 18:21:54

Je continue sur ma lancée, ça plus rien à voir avec le titre du sujet mais tampis.

En hexadécimal, quand je fais j'ai:

E x F = 14 x 15 = 210

210 = 16 x 13 + 2 = 208 + 2 = D2

E x F = D2

Je comprends la méthode ici, mais quand je fais 5 x 7, j'ai pas de méthode pour faire le calcul rapidement. Je suis obligé de écrire 0 1 2 3 .. D E F et compter manuellement pour trouver la réponse.

Il existe une méthode plus simple ?

  • Partager sur Facebook
  • Partager sur Twitter
30 octobre 2015 à 18:34:02

En quoi la méthode que tu utilises pour faire E*F ne fonctionne pas ?

Histoire de bien voir, je vais mettre l'hexa en rouge et le décimal en bleu :

5*7 = 5 * 7 = 35 = 16 * 2 + 3 = 23

Donc en hexa, 5*7 = 23.

-
Edité par lorrio 30 octobre 2015 à 18:36:10

  • Partager sur Facebook
  • Partager sur Twitter
30 octobre 2015 à 19:43:38

Comprit !

Pour A x 1E95

Je fais:

A x 5 = 32 je pose 2 je retiens 3

A x 9 = 5A j'ajoute 3 au A et je retiens 5 ?

A x E = 8C

A x 1 = A

En fait je sais pas comment faire avec les retenus.

  • Partager sur Facebook
  • Partager sur Twitter
30 octobre 2015 à 20:10:39

Il faut vraiment que tu revoies comment tu faisais les additions, les soustractions et les multiplications en école primaire ;)

Il faut faire exactement la même chose sauf que c'est avec des chiffres qui vont de 0àF et non de 0à9 comme en base 10.

En primaire, tu as du apprendre que la retenu est à ajouter à au chiffre suivant donc il te faut faire exactement la même chose.

Ce qui nous donne :

Première opération :

  • Résultat = 23
  • On garde le 2
  • On appliquera la retenue 3 pour l'opération suivante

Seconde opération :

  • Résultat = 5A
  • On garde le A auquel on ajoute la retenue 3, ce qui devient D
  • On appliquera la retenue 5 pour l'opération suivante

Troisième opération :

  • Résultat = 8C
  • On garde le C auquel on ajoute la retenue 5
  • En décimal, C+5 revient à faire 12+5 = 17 = 16 * 1 + 1, ce qui donne 11 en hexa.
  • On va garder le '1' de droite pour cette opération et ajouter le '1' de gauche à la retenue suivante
  • On appliquera la retenue 8+1=9 pour l'opération suivante

Quatrième opération :

  • Résultat = 0A
  • On garde le A auquel on ajoute la retenue 9, ce qui nous donne 13 en hexa.
  • On va garder le '3' de droite pour cette opération et ajouter le '1' de gauche à la retenue suivante
  • On appliquera la retenue 0+1=1 pour l'opération suivante

Cinquième opération :

  • Il n'y en a pas mais on a le +1 de la retenue précédente
  • Donc on garde juste ce 1

Bilan :

Les chiffres gardés sont 1 3 1 D 2 donc A*1E95 = 131D2

-
Edité par lorrio 30 octobre 2015 à 20:13:48

  • Partager sur Facebook
  • Partager sur Twitter
7 novembre 2017 à 21:35:34

J'ai pas bien compris la soustracrion dans la base octale , auriez-vous la gentillesse de me réexpliquer s'il vous plaît !
  • Partager sur Facebook
  • Partager sur Twitter
8 novembre 2017 à 10:26:11

Superbe déterrage...

Mais difficile de faire mieux comme explication.

Je ferme.

  • Partager sur Facebook
  • Partager sur Twitter