probabilmente OT, operazioni in virgola mobile

salve spero di non essere OT. ho un problema con l'operazioni in virgola mobile, è da un paio di giorni che ci rifletto ma non capisco dove sbaglio. per prima cosa il nostro professore non ci fa adottare lo standard in virgola mobile, ma i numeri li rappresentiamo in questo modo: 1 bit per il segno, 5 bit per la mantissa espressa nella forma normale cioè ci riconduciamo ad una mantissa compresa tra 1 e 2, in modo da poter trascurare l'1; l'esponente lo prendiamo in complemento a 2. veniamo al calcolo. dato un numero A=4,492*10^-2, che secondo lo standard di cui ho parlato è 0 01110 1011 e dato il numero B=-1.58*10^-1 che nel nostro standard è 1 01000 1101. li voglio sommare. per prima cosa debbo parificare gli esponenti riconducendomi all'esponente minore che in questo caso è quello di A cioè -5, quindi debbo sommare all'esponente di B -2 e per mantenere le cose debbo moltiplicare la mantissa di B per 4 che equivale ad introdurre due 0 a destra. a questo punto sommo le mantisse, ma ATTENZIONE, dato che non so fare la somma in modulo e segno, trasformo le mantisse in complemento a 2 allineando a destra i numeri per cui ho ##01110+1100000 dove # sono gli 0 che debbo aggiungere per avere lo stesso numero di bit. la somma mi fornisce 1101110. a questo punto vado a vedere che numero ho ottenuto facendo la trasformazione inversa: 2^1+2^0+2^-2+2^-3+2^-4=3.4375, a questo punto sommo 1 che avevo eliminato in precedenza, ho quindi 4.4375*2^-5 cioè -0.1386718, mentre ovviamente avrei dovuto ottenere -0.11308. aiutatemi a capire dove sto sbagliando grazie in anticipo

Reply to
GaLoIs
Loading thread data ...

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.