Le troll c'est le troll , c'est dur de résister :) Et puis sur LinuxFR, on a nos habitudes…
Bon, allez, je vais accepter la fatalité : (2.0 - 1.8 - 0.2) == 0.0 => False
L'expression est syntaxiquement correcte dans une tartine de langages, mais c'est fondamentalement une erreur technique de demander ça. Faut juste le savoir.
Et tant pis pour ceux qui le savent pas, z'ont qu'à apprendre.
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
Bien sûr c'est inhérent à tous ceux qui utilisent IEEE-754, à savoir 90% des langages d'aujourd'hui, c'est justement ça que je soulève. On accepte tous ça connaissant la justification technique mais… perso je trouve que ça fait tâche.
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
Python 2.7.6 (default, Oct 26 2016, 20:30:19)
[GCC 4.8.4] on linux2
Type "help", "copyright", "credits" or "license" for more information.
(2.0 - 1.8 - 0.2) == 0.0
False
Perso, je maintiens que c'est un bug. Là est peut-être le cœur du débat d'ailleurs.
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
Oui oui c'était réellement pour rire que j'ai posté ça :-)
Manifestement il y a des sujets qui font pas rire ici, à voir la note de ton journal, ainsi que de mes post où je tente un "c'est vrai que c'est con quand même".
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
Donc pour vous, du moment qu'on n'arrivera jamais à faire une précision illimitée, on accepte une erreur d'une soustraction à 1 chiffre après la virgule.
Je ne parle pas d'un truc ultime qui fasse du calcul formel, je parle d'une expression de CM2. Tout le monde me dit (et à juste titre) "il y a des bibliothèques pour ça", donc la solution existe, oublions la justification du "le parfait n'existera jamais". La solution à mon pb existe AUJOURD'HUI.
Ma réflexion est sur le "par défaut".
A l'argument de la perfos (qui est le seul argument que je me prends en face donc) je réponds :
- en général on se fout de la perfo (là l'exemple a été donné en Python interactif quand même, c'est pas rien !)
- on peut toujours, pour ceux qui cherchent la perfo (ce que je soutiens c'est que c'est une large minorité) rebasculer vers le bon vieux IEE-machin (option de compil, déclaration dans le script du langage interprété ou je ne sais quoi)
- les CPUs augmentent de puissance, autant en profiter
1980, 2020, même combat : "2.0 - 1.8 - 0.2 != 0.0" dans un langage de programmation courant.
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
Les flottants ne sont pas parfaits, mais la précision est quand même grande
Oui oui, j'en conviens très très bien. Les cas où on en a réellement besoin sont rares, pas de soucis avec ça. Les FPU hardware ont révolutionné pas mal de trucs, et le passage en 64 bits explose tous les besoins… mais en attendant on se traîne un ridicule "2.0 - 1.8 - 0.2 != 0.0" (je préfère l'écrire sous cette forme : on ne parle plus de précision, mais d'erreur entre TRUE/FALSE).
Il peut faire langage de script, c'est avant tout un langage de programmation.
Pardon, langage interprété
Ce que tu ne comprends pas c'est qu'on parle de quelque chose par défaut.
Mais justement, c'est de ça dont je parle ! Quand basculera-t-on ? C'est peut-être pas si loin… on se traîne ce vieux truc pour des raisons de perfos uniquement. Un jour, on va quand même arriver à passer outre et à autoriser le signe "==" dans l'utilisation des flottants PAR DEFAUT dans des langages courants ?
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
Ah si, encore une tentative !!! Vous allez l'adorer :)
Ok, admettons, téléportons-nous qques instants dans un monde où 1000 en informatique c'est réellement 1024 (un peu d'effort d'imagination svp, j'ai ramé pour celle-là)
C'est curieux quand même, quand je fais 1000*4 je me retrouve avec 4096
Ah bin c'est normal, en informatique 1000 c'est 1024. Tu vois, pour multiplier par 1000, ça va plus vite en décalant de 10 bits, au lieu de se cogner le calcul (table de multiplications, ou additions successives). Et 210 c'est 1024. Donc 4 * 1000 = 4096.
Oui mais quand même, c'est faux.
Mais ça prendrait trop de temps de faire de la multiplication en vrai ! Utilise un outil prévu pour ça (Excel par exemple). Mais avoue que la précision est suffisante.
Voilà, ça force le trait évidemment, mais c'est ça que j'observe : la justification de la représentation interne qui rend une erreur de calcul acceptable sous pretexte que ça va plus vite. Aujourd'hui, a-t-on encore besoin de ce "ça va plus vite" par défaut ?
Le même Python est passé par défaut en UTF8 en représentation interne. Il y a 10 ans, j'aurais dit "c'est quand même con de faire de l'ASCII par défaut, on a besoin couramment d'écrire autre chose que les 90 caractères de base", on me serait tombé dessus avec les même arguments (ça coute cher, c'est pas prévu pour etc. etc.) ?
Python est un bon exemple, c'est un langage de script, assez haut niveau, c'est une place parfaite pour activer une autre méthode de calcul (mais je n'attaque pas du tout Python en particulier, je pourrais dire la même chose soit avec des langages haut niveau style script, soit avec des langages modernes compilés très récents, modifiable par une option de compil bien évidemment)
Non ? Vraiment pas ?
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
Exactement. Ce dont je parle reste très peu probable… sauf le jour où Google ou Facebook deviendra opérateur de coeur de réseau (et en rachetant Cisco au passage à y être pour avoir toutes les couches) ?
Là oui on peut prendre le maquis…
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
J'ai vraiment l'impression que tu fais semblant de ne pas comprendre.
Mais… évidemment :)
Je joue l'avocat du diable, je joue le mec qui se dit "mais au fait, ce truc est là depuis 40 ans… il n'y aurait pas mieux à faire au fait ?".
Depuis l'arrivée des FPU, le flottant ne coûte quasiment plus rien, c'est très bien pour jouer en 120fps, mais pour taper 3 lignes sous Python en interactif en plus… il y a peut-être mieux à imaginer non ?
"Patron, la même chose !"
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
Quand je vois ce style de contre argument : c'est clair, je ne me fais pas comprendre.
rm -rf /* => dire à l'ordinateur d'effacer tout ce qu'il y a sous / => il le fait 2.0 - 1.8 - 0.2 => dire à l'ordinateur de faire une soustraction => il se vautre (puisque le résultat est différent de zéro, c'est lui qui me le dit)
Allez, aujourd'hui c'est moi qui sert de défouloir, moinsez-moi si ça peut vous soulager, j'ai du stock ;)
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
Alors déjà jusqu'à preuve du contraire, t'es autant bloqué que moi, puisque tu répètes comme moi les même choses en disant comme moi que j'ai pas compris :)
Mais essayer de faire réfléchir différemment les gens, c'est pas facile.
Ca fait 20 ans qu'on m'a expliqué que 2.0 - 1.8 - 0.2 est presque égal à zéro, et que "oh malheureux !" il ne faut pas essayer de comparer le résultat à zéro (ni à aucun autre valeur, jamais de "==" avec les flottants).
Je le sais, je l'ai accepté, et je me suis même fait ma raison : de la même manière qu'un son analogique va être échantillonné parce que l'ordinateur ne sait pas gérer toutes les valeurs de la tension qui sort de ton micro, les mathématiques (qui pourraient être considérées analogique phylosophiquement) sont aussi "échantillonnées" car la précision infinie n'est pas possible (malgrès les bibliothèque que tu veux, elle n'est pas possible, il y aura toujours une limite). Donc en faisant cette soustraction, on prend la "valeur échantillonnée du monde mathématique" la plus proche. Et vu la précision des flottants, elle est fort acceptable pour le commun des mortels (peut-être Jésus aurait eu son mot à dire, mais là n'est pas le sujet).
Là ce journal m'a fait un peu prendre de recul, c'est tout… relis mon premier commentaire, j'ai dit "ça fait tâche". Je comprends le débutant qui tape ces lignes, qui est super étonné alors qu'il n'avait jamais vu ça. On a beau avoir l'explication technique derrière, je reste sur ma première surprise en lisant ce journal "putain mais c'est vrai au fait".
J'ai pas dit que c'est un scandale, qu'il faut réécrire tous les langages (comme on m'a judicieusement conseillé 2 ou 3x dans ce thread), j'ai juste dit que quand même ça fait bizarre quand on y pense, quand on se met à la place de celui qui ne sait pas ce que c'est que IEEE-machin (me souviens jamais du chiffre, mais je saurais les décoder en binaire je pense).
Mais je le vis bien, je te rassure, je vais continuer à utiliser les flottants au quotidien (ou presque… j'avoue que mis à part dans les jeux, je dois pas être un grand consommateur de flottants) avec la grande satisfaction qu'ils me procurent aujourd'hui (j'ai fait du flottant sur 68000 sans FPU en faisant tourner des carrés, je sais ce que ça coûte).
J'ai juste essayé de réfléchir un peu différemment de mon habitude, j'ai juste essayé de partager cette réflexion avec les autres, peine perdue, je me suis ramassé un wagon de "c'est comme ça épicétou".
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
Je te fais la même chose en C et il me donne le même résultat. Pourtant c'est pas un vrai '0'. La preuve il me dit que le résultat est != 0. Alors je ne sais pas pour bc, mais il faut ne pas se limiter à l'affichage, et comparer le résultat avec 0.
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
Si, on sait faire, mais il faut utiliser les outils adaptés pour.
Alors disons que par défaut, on n'utilise pas les outils pour, et c'est dommage. On a 1Go de RAM au poignet, on devrait arriver à faire 3 soustractions correctement sur un PC non ?
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
Le marteau piquer pour taper sur un clou, c'est djéà fait depuis belle lurette : utiliser un CPU de plusieurs GHz pour faire 3 soustractions. Et il se trompe.
Alors on peut accepter que l'ordinateur n'est pas fait pour calculer (ce que je me refuse à accepter, ne serait-ce que par son nom en Anglais), ou se dire "tiens, c'est curieux quand même qu'on soit pas fichus de faire mieux que 2.0 - 1.8 - 0.2 != 0.0".
Mais bon, pas grave, je me fais pas comprendre (je dois mal m'expliquer), tout le monde s'évertue à m'expliquer ce que je sais déjà.
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
(Dur de se faire comprendre en se prenant des "inutiles" à chaque mot)
Coûteux en quoi ? Il fait 3 soustractions, ça a pris qques microsecondes, si un calcul vrai met 10x plus de temps ça coûte à qui ? Justement à ceux qui savent tout ça et qui peuvent dire "c'est trop complexe, je passe en floating".
99,999% du temps on fait des trucs pas pressés donc le temps importe peu. Pourquoi accepter fatalement cette erreur de calcul (parce que ça en est une ?).
Non mais j'essaie juste de réfléchir différemment c'est tout.
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
Mais il n'y a pas que les représentations en virgule flottante dans la vie.
Mais merci !!!!
A croire que tout le monde trouve acceptable que un ordinateur soit incapable d'effectuer correctement "2.0 - 1.8 - 0.2". Putain de merde, mais c'est un bug et rien d'autre ! Et c'est pas parce qu'on a l'explication (que je comprends parfaitement, inutile de m'expliquer, j'ai appris ça à l'école) que ça n'en est pas un.
On est parti là-dessus en 1985 (ou un peu avant sûrement) parce que c'était la bonne idée du moment, et maintenant personne pour remettre ça en question. Ouvrez un peu vos Chakras, regardez les choses en face, des milliards de transistors pour au final ne pas être capable de faire une soustraction de CM1 !
Je pense qu'il y a mieux à faire.
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
[^] # Re: Rien de surprenant
Posté par gUI (Mastodon) . En réponse au journal [Humour] vers un monde différent. Évalué à -2.
Le troll c'est le troll , c'est dur de résister :) Et puis sur LinuxFR, on a nos habitudes…
Bon, allez, je vais accepter la fatalité : (2.0 - 1.8 - 0.2) == 0.0 => False
L'expression est syntaxiquement correcte dans une tartine de langages, mais c'est fondamentalement une erreur technique de demander ça. Faut juste le savoir.
Et tant pis pour ceux qui le savent pas, z'ont qu'à apprendre.
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
[^] # Re: Rien de surprenant
Posté par gUI (Mastodon) . En réponse au journal [Humour] vers un monde différent. Évalué à -4.
Oui je me lâche un peu dans le troll, j'avoue :D
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
[^] # Re: Rien de surprenant
Posté par gUI (Mastodon) . En réponse au journal [Humour] vers un monde différent. Évalué à -3.
T'es nouveau dans la discussion ?
Bien sûr c'est inhérent à tous ceux qui utilisent IEEE-754, à savoir 90% des langages d'aujourd'hui, c'est justement ça que je soulève. On accepte tous ça connaissant la justification technique mais… perso je trouve que ça fait tâche.
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
[^] # Re: Rien de surprenant
Posté par gUI (Mastodon) . En réponse au journal [Humour] vers un monde différent. Évalué à -3.
Putain mais vous moinsez tout et n'importe quoi… il est pas rigolo mon exemple ?
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
[^] # Re: Rien de surprenant
Posté par gUI (Mastodon) . En réponse au journal [Humour] vers un monde différent. Évalué à -4. Dernière modification le 19 décembre 2017 à 11:13.
A l'instant avec ce que j'ai sous la main :
Python 2.7.6 (default, Oct 26 2016, 20:30:19)
[GCC 4.8.4] on linux2
Type "help", "copyright", "credits" or "license" for more information.
(2.0 - 1.8 - 0.2) == 0.0
False
Perso, je maintiens que c'est un bug. Là est peut-être le cœur du débat d'ailleurs.
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
[^] # Re: Rien de surprenant
Posté par gUI (Mastodon) . En réponse au journal [Humour] vers un monde différent. Évalué à -2.
Oui merci. Il "suffit" de demander au préalable à ne pas se tromper dans les soustractions.
2+2 => 5
pragma(te_vautre_pas_stp) 2+2 => 4
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
[^] # Re: Rien de surprenant
Posté par gUI (Mastodon) . En réponse au journal [Humour] vers un monde différent. Évalué à 1.
Manifestement il y a des sujets qui font pas rire ici, à voir la note de ton journal, ainsi que de mes post où je tente un "c'est vrai que c'est con quand même".
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
[^] # Re: Rien de surprenant
Posté par gUI (Mastodon) . En réponse au journal [Humour] vers un monde différent. Évalué à -2.
Donc pour vous, du moment qu'on n'arrivera jamais à faire une précision illimitée, on accepte une erreur d'une soustraction à 1 chiffre après la virgule.
Je ne parle pas d'un truc ultime qui fasse du calcul formel, je parle d'une expression de CM2. Tout le monde me dit (et à juste titre) "il y a des bibliothèques pour ça", donc la solution existe, oublions la justification du "le parfait n'existera jamais". La solution à mon pb existe AUJOURD'HUI.
Ma réflexion est sur le "par défaut".
A l'argument de la perfos (qui est le seul argument que je me prends en face donc) je réponds :
- en général on se fout de la perfo (là l'exemple a été donné en Python interactif quand même, c'est pas rien !)
- on peut toujours, pour ceux qui cherchent la perfo (ce que je soutiens c'est que c'est une large minorité) rebasculer vers le bon vieux IEE-machin (option de compil, déclaration dans le script du langage interprété ou je ne sais quoi)
- les CPUs augmentent de puissance, autant en profiter
1980, 2020, même combat : "2.0 - 1.8 - 0.2 != 0.0" dans un langage de programmation courant.
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
[^] # Re: Rien de surprenant
Posté par gUI (Mastodon) . En réponse au journal [Humour] vers un monde différent. Évalué à -3.
Oui oui, j'en conviens très très bien. Les cas où on en a réellement besoin sont rares, pas de soucis avec ça. Les FPU hardware ont révolutionné pas mal de trucs, et le passage en 64 bits explose tous les besoins… mais en attendant on se traîne un ridicule "2.0 - 1.8 - 0.2 != 0.0" (je préfère l'écrire sous cette forme : on ne parle plus de précision, mais d'erreur entre TRUE/FALSE).
Pardon, langage interprété
Mais justement, c'est de ça dont je parle ! Quand basculera-t-on ? C'est peut-être pas si loin… on se traîne ce vieux truc pour des raisons de perfos uniquement. Un jour, on va quand même arriver à passer outre et à autoriser le signe "==" dans l'utilisation des flottants PAR DEFAUT dans des langages courants ?
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
[^] # Re: Rien de surprenant
Posté par gUI (Mastodon) . En réponse au journal [Humour] vers un monde différent. Évalué à -3. Dernière modification le 19 décembre 2017 à 09:28.
Ah si, encore une tentative !!! Vous allez l'adorer :)
Ok, admettons, téléportons-nous qques instants dans un monde où 1000 en informatique c'est réellement 1024 (un peu d'effort d'imagination svp, j'ai ramé pour celle-là)
Voilà, ça force le trait évidemment, mais c'est ça que j'observe : la justification de la représentation interne qui rend une erreur de calcul acceptable sous pretexte que ça va plus vite. Aujourd'hui, a-t-on encore besoin de ce "ça va plus vite" par défaut ?
Le même Python est passé par défaut en UTF8 en représentation interne. Il y a 10 ans, j'aurais dit "c'est quand même con de faire de l'ASCII par défaut, on a besoin couramment d'écrire autre chose que les 90 caractères de base", on me serait tombé dessus avec les même arguments (ça coute cher, c'est pas prévu pour etc. etc.) ?
Python est un bon exemple, c'est un langage de script, assez haut niveau, c'est une place parfaite pour activer une autre méthode de calcul (mais je n'attaque pas du tout Python en particulier, je pourrais dire la même chose soit avec des langages haut niveau style script, soit avec des langages modernes compilés très récents, modifiable par une option de compil bien évidemment)
Non ? Vraiment pas ?
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
[^] # Re: Clementine
Posté par gUI (Mastodon) . En réponse au message Soirée réveillon : quel logiciel pour passer de la musique ?. Évalué à 1.
Ouais c'est pas mal.
Merci à tous pour vos réponses, j'ai de quoi bosser pour préparer tout ça :)
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
[^] # Re: Orange ça P..
Posté par gUI (Mastodon) . En réponse au journal la neutralité du net bronsonisée. Évalué à 1.
Exactement. Ce dont je parle reste très peu probable… sauf le jour où Google ou Facebook deviendra opérateur de coeur de réseau (et en rachetant Cisco au passage à y être pour avoir toutes les couches) ?
Là oui on peut prendre le maquis…
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
[^] # Re: Rien de surprenant
Posté par gUI (Mastodon) . En réponse au journal [Humour] vers un monde différent. Évalué à -1.
C'est pas très gentil… :(
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
[^] # Re: Rien de surprenant
Posté par gUI (Mastodon) . En réponse au journal [Humour] vers un monde différent. Évalué à -5.
T'as raison, c'est plus rigolo, j'arrête aussi.
Sinon, ça baigne ?
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
[^] # Re: Rien de surprenant
Posté par gUI (Mastodon) . En réponse au journal [Humour] vers un monde différent. Évalué à -7.
Mais… évidemment :)
Je joue l'avocat du diable, je joue le mec qui se dit "mais au fait, ce truc est là depuis 40 ans… il n'y aurait pas mieux à faire au fait ?".
Depuis l'arrivée des FPU, le flottant ne coûte quasiment plus rien, c'est très bien pour jouer en 120fps, mais pour taper 3 lignes sous Python en interactif en plus… il y a peut-être mieux à imaginer non ?
"Patron, la même chose !"
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
[^] # Re: Rien de surprenant
Posté par gUI (Mastodon) . En réponse au journal [Humour] vers un monde différent. Évalué à -5.
Quand je vois ce style de contre argument : c'est clair, je ne me fais pas comprendre.
rm -rf /*
=> dire à l'ordinateur d'effacer tout ce qu'il y a sous / => il le fait2.0 - 1.8 - 0.2
=> dire à l'ordinateur de faire une soustraction => il se vautre (puisque le résultat est différent de zéro, c'est lui qui me le dit)Allez, aujourd'hui c'est moi qui sert de défouloir, moinsez-moi si ça peut vous soulager, j'ai du stock ;)
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
[^] # Re: Rien de surprenant
Posté par gUI (Mastodon) . En réponse au journal [Humour] vers un monde différent. Évalué à -4.
Alors déjà jusqu'à preuve du contraire, t'es autant bloqué que moi, puisque tu répètes comme moi les même choses en disant comme moi que j'ai pas compris :)
Mais essayer de faire réfléchir différemment les gens, c'est pas facile.
Ca fait 20 ans qu'on m'a expliqué que 2.0 - 1.8 - 0.2 est presque égal à zéro, et que "oh malheureux !" il ne faut pas essayer de comparer le résultat à zéro (ni à aucun autre valeur, jamais de "==" avec les flottants).
Je le sais, je l'ai accepté, et je me suis même fait ma raison : de la même manière qu'un son analogique va être échantillonné parce que l'ordinateur ne sait pas gérer toutes les valeurs de la tension qui sort de ton micro, les mathématiques (qui pourraient être considérées analogique phylosophiquement) sont aussi "échantillonnées" car la précision infinie n'est pas possible (malgrès les bibliothèque que tu veux, elle n'est pas possible, il y aura toujours une limite). Donc en faisant cette soustraction, on prend la "valeur échantillonnée du monde mathématique" la plus proche. Et vu la précision des flottants, elle est fort acceptable pour le commun des mortels (peut-être Jésus aurait eu son mot à dire, mais là n'est pas le sujet).
Là ce journal m'a fait un peu prendre de recul, c'est tout… relis mon premier commentaire, j'ai dit "ça fait tâche". Je comprends le débutant qui tape ces lignes, qui est super étonné alors qu'il n'avait jamais vu ça. On a beau avoir l'explication technique derrière, je reste sur ma première surprise en lisant ce journal "putain mais c'est vrai au fait".
J'ai pas dit que c'est un scandale, qu'il faut réécrire tous les langages (comme on m'a judicieusement conseillé 2 ou 3x dans ce thread), j'ai juste dit que quand même ça fait bizarre quand on y pense, quand on se met à la place de celui qui ne sait pas ce que c'est que IEEE-machin (me souviens jamais du chiffre, mais je saurais les décoder en binaire je pense).
Mais je le vis bien, je te rassure, je vais continuer à utiliser les flottants au quotidien (ou presque… j'avoue que mis à part dans les jeux, je dois pas être un grand consommateur de flottants) avec la grande satisfaction qu'ils me procurent aujourd'hui (j'ai fait du flottant sur 68000 sans FPU en faisant tourner des carrés, je sais ce que ça coûte).
J'ai juste essayé de réfléchir un peu différemment de mon habitude, j'ai juste essayé de partager cette réflexion avec les autres, peine perdue, je me suis ramassé un wagon de "c'est comme ça épicétou".
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
[^] # Re: Rien de surprenant
Posté par gUI (Mastodon) . En réponse au journal [Humour] vers un monde différent. Évalué à -9.
Oulah malheureux ! Méfie-toi !
Je te fais la même chose en C et il me donne le même résultat. Pourtant c'est pas un vrai '0'. La preuve il me dit que le résultat est != 0. Alors je ne sais pas pour bc, mais il faut ne pas se limiter à l'affichage, et comparer le résultat avec 0.
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
[^] # Re: Rien de surprenant
Posté par gUI (Mastodon) . En réponse au journal [Humour] vers un monde différent. Évalué à -9.
Alors disons que par défaut, on n'utilise pas les outils pour, et c'est dommage. On a 1Go de RAM au poignet, on devrait arriver à faire 3 soustractions correctement sur un PC non ?
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
[^] # Re: Rien de surprenant
Posté par gUI (Mastodon) . En réponse au journal [Humour] vers un monde différent. Évalué à -2.
Entièrement d'accord, c'est tout aussi faux.
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
[^] # Re: Rien de surprenant
Posté par gUI (Mastodon) . En réponse au journal [Humour] vers un monde différent. Évalué à -9.
Terme bien compliqué par parler de 3 soustractions non ?
Je ne cherche pas une explication, je la connais depuis un paquet d'année, juste que je constate que… c'est quand même bof bof comme résultat non ?
Vu de l'extérieur… 3 soustractions… une erreur de calcul… non ? Vraiment pas ? Vous trouvez ça normal ?
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
[^] # Re: Rien de surprenant
Posté par gUI (Mastodon) . En réponse au journal [Humour] vers un monde différent. Évalué à -9.
Le marteau piquer pour taper sur un clou, c'est djéà fait depuis belle lurette : utiliser un CPU de plusieurs GHz pour faire 3 soustractions. Et il se trompe.
Alors on peut accepter que l'ordinateur n'est pas fait pour calculer (ce que je me refuse à accepter, ne serait-ce que par son nom en Anglais), ou se dire "tiens, c'est curieux quand même qu'on soit pas fichus de faire mieux que 2.0 - 1.8 - 0.2 != 0.0".
Mais bon, pas grave, je me fais pas comprendre (je dois mal m'expliquer), tout le monde s'évertue à m'expliquer ce que je sais déjà.
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
[^] # Re: Rien de surprenant
Posté par gUI (Mastodon) . En réponse au journal [Humour] vers un monde différent. Évalué à -2.
(Dur de se faire comprendre en se prenant des "inutiles" à chaque mot)
Coûteux en quoi ? Il fait 3 soustractions, ça a pris qques microsecondes, si un calcul vrai met 10x plus de temps ça coûte à qui ? Justement à ceux qui savent tout ça et qui peuvent dire "c'est trop complexe, je passe en floating".
99,999% du temps on fait des trucs pas pressés donc le temps importe peu. Pourquoi accepter fatalement cette erreur de calcul (parce que ça en est une ?).
Non mais j'essaie juste de réfléchir différemment c'est tout.
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
[^] # Re: Rien de surprenant
Posté par gUI (Mastodon) . En réponse au journal [Humour] vers un monde différent. Évalué à -10.
Oui acceptons que tous que "2.0 - 1.8 - 0.2 != 0.0" et pour ceux qui sont pas d'accords : RTFM.
Perso, je trouve ça très moyen. Encore une sujet où on n'a pas avancé d'un iota depuis les années 80… c'est dommage.
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
[^] # Re: Rien de surprenant
Posté par gUI (Mastodon) . En réponse au journal [Humour] vers un monde différent. Évalué à -5.
Mais merci !!!!
A croire que tout le monde trouve acceptable que un ordinateur soit incapable d'effectuer correctement "2.0 - 1.8 - 0.2". Putain de merde, mais c'est un bug et rien d'autre ! Et c'est pas parce qu'on a l'explication (que je comprends parfaitement, inutile de m'expliquer, j'ai appris ça à l'école) que ça n'en est pas un.
On est parti là-dessus en 1985 (ou un peu avant sûrement) parce que c'était la bonne idée du moment, et maintenant personne pour remettre ça en question. Ouvrez un peu vos Chakras, regardez les choses en face, des milliards de transistors pour au final ne pas être capable de faire une soustraction de CM1 !
Je pense qu'il y a mieux à faire.
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.