Tout les nombres « décimaux » de sont pas encodables en nombre flottant binaires.
Ici, python encode en « flottant binaire » (probablement du IEEE754 binary64) l’expression décimale tapée sur la ligne de commande, puis affiche en retour, une représentation décimale proche de ce qui est réellement encodé, tout en garantissant un nombre maximal de « digits ».
Car contrairement a ce que j’ai précédemment écrit, il est possible de représenter, de façon exacte, en décimal, tout nombre représenté de façon exacte en « flottant binaire ». Mais cela peut nécessiter un grand nombre de « digits »:
Exemple de conversions :
Conversion de: -4.7233169650e+4
Yahaa ! Gatemate support \o/ nextpnr portable FPGA place and route tool. Contribute to YosysHQ/nextpnr development by creating an account on GitHub. — Permalink
Tremmmmblez pingouins ! ps: Ça ne serait pas le fameux BASIC qui le faisait chouiner en 1976 ? https://fr.wikipedia.org/wiki/An_Open_Letter_to_Hobbyists — Permalink
Une institutrice victime d’un corbeau pendant des mois s’est donné la mort en se jetant d’une falaise, ce 1er septembre dans le Cantal. On se souviendra du village de Moussages (Cantal) et de l'éducation nationale dans cette affaire ... Pas de vague mon cul — Permalink
Tout les nombres « décimaux » de sont pas encodables en nombre flottant binaires.
Ici, python encode en « flottant binaire » (probablement du IEEE754 binary64) l’expression décimale tapée sur la ligne de commande, puis affiche en retour, une représentation décimale proche de ce qui est réellement encodé, tout en garantissant un nombre maximal de « digits ».
Car contrairement a ce que j’ai précédemment écrit, il est possible de représenter, de façon exacte, en décimal, tout nombre représenté de façon exacte en « flottant binaire ». Mais cela peut nécessiter un grand nombre de « digits »:
Exemple de conversions :
Conversion de: -4.7233169650e+4
Signum bit ‘-‘.
–> -0x###p#
Reste: 4.7233169650e+4
Choix de la base : 2^15 = 32768 –> p15
–> -0x1.###p15
Reste: 14465.16965
Décomposition:
> 2^14 = 16384 –> 0 »
> 2^13 = 8192 –> 1 (reste 6273.16965)
> 2^12 = 4096 –> 1 (reste 2177.16965)
> 2^11 = 2048 –> 1 (reste 129.16965)
> 2^10 = 1024 –> 0 »
> 2^9 = 512 –> 0 »
> 2^8 = 256 –> 0 »
> 2^7 = 128 –> 1 (reste 1.16965)
> 2^6 = 64 –> 0 »
> 2^5 = 32 –> 0 »
> 2^4 = 16 –> 0 »
> 2^3 = 8 –> 0 »
> 2^2 = 4 –> 0 »
> 2^1 = 2 –> 0 »
> 2^0 = 1 –> 1 (reste 0.16965)
> 2^-1 = 0.5 –> 0 »
> 2^-2 = 0.25 –> 0 »
> 2^-3 = 0.125 –> 1 (reste 0.04465)
> 2^-4 = 0.0625 –> 0 »
> 2^-5 = 0.03125 –> 1 (reste 0.0134)
> 2^-5 = 0.015625 –> 0 »
> 2^-7 = 0.0078125 –> 1 (reste 0.0055875)
> 2^-8 = 0.00390625 –> 1 (reste 0.00168125)
> 2^-9 = 0.001953125 –> 0 »
> 2^-10 = 0.0009765625 –> 1 (reste 0.0007046875)
> 2^-11 = 0.00048828125 –> 1 (reste 0.00021640625)
> 2^-12 = 0.000244140625 –> 0 »
> 2^-13 = 0.0001220703125 –> 1 (reste 0.0000943359375)
> 2^-14 = 0.00006103515625 –> 1 (reste 0.00003330078125)
> 2^-15 = 0.000030517578125 –> 1 (reste 0.000002783203125)
> 2^-16 = 0.0000152587890625 –> 0 »
> 2^-17 = 0.00000762939453125 –> 0 »
En binaire : 0111 0001 0000 0010 0101 0110 1101 1100(2)
En hexa = 7 1 0 2 5 6 D C
–> -0x1.710256DCp15
Certes … mais ma calculette solaire offerte par ma banque elle fait pas l’erreur elle !