Bonjour,
je ne comprends le comportement de la commande bc qui me sert à convertir
en base2. En principe l'écriture en base2 de 0.1 est infinie et doit être
la même que pour 1/10. Alors pourquoi bc me répond 0,0001 qd je tape 0.1 ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Olivier Miakinen
Le 21/05/2014 01:34, Olivier a écrit :
je ne comprends le comportement de la commande bc qui me sert à convertir en base2. En principe l'écriture en base2 de 0.1 est infinie et doit être la même que pour 1/10. Alors pourquoi bc me répond 0,0001 qd je tape 0.1 ?
Un bug d'optimisation, à mon avis. Lorsque ibase = obase, tu n'as pas besoin de plus de chiffres pour afficher un nombre que tu n'en as eu besoin pour le saisir.
Note que le moyen le plus simple que j'ai trouvé pour lui faire afficher tous les chiffres autorisés par scale, c'est de diviser par 1 (ajouter ou soustraire 0 ne change rien, multiplier par 1 non plus).
je ne comprends le comportement de la commande bc qui me sert à convertir
en base2. En principe l'écriture en base2 de 0.1 est infinie et doit être
la même que pour 1/10. Alors pourquoi bc me répond 0,0001 qd je tape 0.1 ?
Un bug d'optimisation, à mon avis. Lorsque ibase = obase, tu n'as pas
besoin de plus de chiffres pour afficher un nombre que tu n'en as eu
besoin pour le saisir.
Note que le moyen le plus simple que j'ai trouvé pour lui faire
afficher tous les chiffres autorisés par scale, c'est de diviser
par 1 (ajouter ou soustraire 0 ne change rien, multiplier par 1
non plus).
je ne comprends le comportement de la commande bc qui me sert à convertir en base2. En principe l'écriture en base2 de 0.1 est infinie et doit être la même que pour 1/10. Alors pourquoi bc me répond 0,0001 qd je tape 0.1 ?
Un bug d'optimisation, à mon avis. Lorsque ibase = obase, tu n'as pas besoin de plus de chiffres pour afficher un nombre que tu n'en as eu besoin pour le saisir.
Note que le moyen le plus simple que j'ai trouvé pour lui faire afficher tous les chiffres autorisés par scale, c'est de diviser par 1 (ajouter ou soustraire 0 ne change rien, multiplier par 1 non plus).
$ bc obase=2 scale a = 0 b = 0/1 0.1 + a .0001 0.1 + b .0001100110011001100110011001100110011001100110011001100110011001100
Et donc, le 0 qui est dans b a plus de chiffres que celui qui est dans a !
Nicolas George
Olivier Miakinen , dans le message <llhha6$1fal$,
Un bug d'optimisation, à mon avis. Lorsque ibase = obase, tu n'as pas besoin de plus de chiffres pour afficher un nombre que tu n'en as eu besoin pour le saisir.
Non, c'est conforme à la spec. Le paramètre scale, c'est pour les divisions, rien d'autre. Les nombres écrits directement, c'est le nombre de chiffres écrits explicitement qui définit l'échelle, et les calculs sont toujours faits en décimal.
Olivier Miakinen , dans le message <llhha6$1fal$1@cabale.usenet-fr.net>,
Un bug d'optimisation, à mon avis. Lorsque ibase = obase, tu n'as pas
besoin de plus de chiffres pour afficher un nombre que tu n'en as eu
besoin pour le saisir.
Non, c'est conforme à la spec. Le paramètre scale, c'est pour les divisions,
rien d'autre. Les nombres écrits directement, c'est le nombre de chiffres
écrits explicitement qui définit l'échelle, et les calculs sont toujours
faits en décimal.
Un bug d'optimisation, à mon avis. Lorsque ibase = obase, tu n'as pas besoin de plus de chiffres pour afficher un nombre que tu n'en as eu besoin pour le saisir.
Non, c'est conforme à la spec. Le paramètre scale, c'est pour les divisions, rien d'autre. Les nombres écrits directement, c'est le nombre de chiffres écrits explicitement qui définit l'échelle, et les calculs sont toujours faits en décimal.
stalker5
Non, c'est conforme à la spec. Le paramètre scale, c'est pour les divisions, rien d'autre. Les nombres écrits directement, c'est le nombre de chiffres écrits explicitement qui définit l'échelle, et les calculs sont toujours faits en décimal.
"c'est le nombre de chiffre écrits qui définit l'échelle..."
Je ne suis pas sûr de comprendre ...
-- Olivier
Non, c'est conforme à la spec. Le paramètre scale, c'est pour les divisions,
rien d'autre. Les nombres écrits directement, c'est le nombre de chiffres
écrits explicitement qui définit l'échelle, et les calculs sont toujours
faits en décimal.
"c'est le nombre de chiffre écrits qui définit l'échelle..."
Non, c'est conforme à la spec. Le paramètre scale, c'est pour les divisions, rien d'autre. Les nombres écrits directement, c'est le nombre de chiffres écrits explicitement qui définit l'échelle, et les calculs sont toujours faits en décimal.
"c'est le nombre de chiffre écrits qui définit l'échelle..."
Je ne suis pas sûr de comprendre ...
-- Olivier
Nicolas George
stalker5 , dans le message <lliih5$4f0$, a écrit :
"c'est le nombre de chiffre écrits qui définit l'échelle..."
Je ne suis pas sûr de comprendre ...
Chaque expression calculée par bc a une échelle, qui détermine la précision des calculs quand ce n'est pas exact. L'échelle d'un nombre écrit tel quel est simplement le nombre de chiffres écrits après la virgule, si c'est en décimal. L'échelle d'une division, c'est le paramètre scale. Tu peux essayer par exemple :
stalker5 , dans le message <lliih5$4f0$1@shakotay.alphanet.ch>, a
écrit :
"c'est le nombre de chiffre écrits qui définit l'échelle..."
Je ne suis pas sûr de comprendre ...
Chaque expression calculée par bc a une échelle, qui détermine la précision
des calculs quand ce n'est pas exact. L'échelle d'un nombre écrit tel quel
est simplement le nombre de chiffres écrits après la virgule, si c'est en
décimal. L'échelle d'une division, c'est le paramètre scale. Tu peux essayer
par exemple :
stalker5 , dans le message <lliih5$4f0$, a écrit :
"c'est le nombre de chiffre écrits qui définit l'échelle..."
Je ne suis pas sûr de comprendre ...
Chaque expression calculée par bc a une échelle, qui détermine la précision des calculs quand ce n'est pas exact. L'échelle d'un nombre écrit tel quel est simplement le nombre de chiffres écrits après la virgule, si c'est en décimal. L'échelle d'une division, c'est le paramètre scale. Tu peux essayer par exemple :