Curiosità ferroviarie

Trasporto ferroviario

Moderators: Hallenius, teo

Re: Curiosità ferroviarie

Postby Astro » Mon 06 May 2019; 19:22

Dipende se la virgola mobile è in base 10 o in base 2 :mrgreen:
Astro
 
Posts: 3838
Joined: Mon 26 November 2012; 14:55
Location: Z314 Z315

Re: Curiosità ferroviarie

Postby fra74 » Mon 06 May 2019; 19:27

Davo ovviamente per sottinteso base 2 :P

Anche perché almeno a livello di tipi dati primitivi ben pochi linguaggi di programmazione hanno numeri in virgola mobile in base 10
Lontano a tempo indefinito dal forum
User avatar
fra74
Forum Admin
 
Posts: 24940
Joined: Wed 05 July 2006; 21:15

Re: Curiosità ferroviarie

Postby Carrelli1928 » Mon 06 May 2019; 20:06

fra74 wrote:Certo ma da lì a dire che le CPU non sappiano cosa sia una sottrazione quando la sottrazione è presente nel set di istruzioni dell'8086 (progettato nel 1978) è piuttosto bizzarro...
E per altro se vogliamo fare i pignoli fino in fondo a livello elettronico non esiste neppure la somma, tutto si riduce ad opportune combinazioni di porte logiche
Un half adder non è altro che una combinazione di una porta AND e una XOR, con due half adder si riesce a gestire la somma di due bit con tanto di gestione del riporto di una somma precedente e restitiyuzione del nuovo riporto... una serie in cascata di full adder permette di gestire in cascata somme tra interi a più bit


Appunto: l'operazione che viene effettivamente eseguita "mettendo insieme i due numeri" è una somma.
Questione di definizione la nostra, se vogliamo.

P.S: quanto fa per un computer con numeri reali in virgola mobile 1 - (0,1+0,1+0,1+0,1+0,1+0,1+0,1+0,1+0,1+0,1)? :P


Difficile dirlo, dato che, secondo JavaScript, 4.9 * 100 = 490.00000000000006 Image
"Quando le immagini dei boat people vengono rese pubbliche da Tiziano Terzani il 15 giugno 1979, invece di aggiungersi al dibattito globale di opinionisti e intellettuali impegnati a decidere se salvare dei profughi di un regime comunista sia un messaggio capitalista o no, Pertini capisce che ogni minuto conta, chiama Andreotti e dà ordine di recuperarli e portarli in Italia."
Da Quando negli anni ’80 la marina militare italiana riuscì a fare l’impossibile
User avatar
Carrelli1928
 
Posts: 3628
Joined: Fri 02 May 2014; 19:08
Location: Milano

Re: Curiosità ferroviarie

Postby fra74 » Mon 06 May 2019; 20:47

Quello succede in ogni linguaggio di programmazione che usa numeri in virgola mobile secondo lo standard IEEE 754
Analogo esempio in Python 3

Code: Select all
Python 3.7.3 (default, Apr  3 2019, 05:39:12)
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> print(4.9*100)
490.00000000000006
>>>



E sostanzialmente è la stessa questione che ponevo io

Ma in ogni caso JS non è un linguaggio serio

parseInt(0.000001); // -> 0
parseInt(0.0000001); // -> 1
parseInt(0.0000001,16) // -> 30
parseInt(1 / 1999999); // -> 5

'3' - 1 // -> 2
'3' + 1 // -> '31'

Mentre ancora un linguaggio serio si comporta così

Code: Select all
>>> int(0.000001)
0
>>> int(0.0000001)
0
>>> int(0.0000001,16)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: int() can't convert non-string with explicit base
>>> int(1 / 1999999)
0
>>> '3' - 1
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for -: 'str' and 'int'
>>> '3' + 1
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: can only concatenate str (not "int") to str



:P
Lontano a tempo indefinito dal forum
User avatar
fra74
Forum Admin
 
Posts: 24940
Joined: Wed 05 July 2006; 21:15

Re: Curiosità ferroviarie

Postby Carrelli1928 » Mon 06 May 2019; 21:54

JS non è serio? Fra, non discriminarlo solo perché è diverso. Ha solo bisogno di qualcuno che lo comprenda, necessita solo di un po’ di affetto da parte di un programmatore paziente. Certo, se poi mi dice che “undefined + 'a' + NaN” è diverso da “undefined + NaN + 'a'”, un pochino comincio a condividere il tuo punto di vista.
User avatar
Carrelli1928
 
Posts: 3628
Joined: Fri 02 May 2014; 19:08
Location: Milano

Re: Curiosità ferroviarie

Postby Astro » Mon 06 May 2019; 23:33

Questi sono più seri di JS (e di PHP che ha buona parte dei suoi problemi):
https://github.com/esseks/monicelli
http://ruspython.ienadeprex.com/

XD

Se invece parliamo di serietà, qui specifichi la precisione e l'intervallo che ti serve
https://en.wikibooks.org/wiki/Ada_Progr ... pes/digits
https://en.wikibooks.org/wiki/Ada_Progr ... ypes/delta
e ottieni
1) esattamente la precisione che chiedi, e le operazioni funzionano come ti aspetti
2) controlli di overflow/underflow
Astro
 
Posts: 3838
Joined: Mon 26 November 2012; 14:55
Location: Z314 Z315

Re: Curiosità ferroviarie

Postby fra74 » Mon 06 May 2019; 23:55

Uh Ada, il linguaggio con cui è stato scritto il software che ha provocato l'autodistruzione dell'Ariane 5 XD

Scherzo, so benissimo le cause ;)
Lontano a tempo indefinito dal forum
User avatar
fra74
Forum Admin
 
Posts: 24940
Joined: Wed 05 July 2006; 21:15

Previous

Return to Trasporto ferroviario

Who is online

Users browsing this forum: Google [Bot] and 3 guests