JAVA usa una rappresentazione in VIRGOLA MOBILE

Slides:



Advertisements
Presentazioni simili
Rappresentazione di Numeri Reali
Advertisements

Rappresentazioni dei numeri non interi A. Ferrari.
Fondamenti di Informatica CDL in Ingegneria Meccanica - A.A CDL in Ingegneria Meccanica - A.A Tipi di dati Ing. Simona Colucci.
Fondamenti di Informatica CDL in Ingegneria Gestionale - A.A Tipi di dati Ing. Simona Colucci.
Corso di Laurea in Biotecnologie Informatica (Programmazione)
Rappresentazione dei numeri reali
8) Classi numeriche e operatori Lab. Calc. I AA2002/03 - cap.82 Classi numeriche Esempi di classi numeriche: int, numeri interi che occupano una parola.
Dichiarazioni e tipi predefiniti nel linguaggio C
Fondamenti di Informatica A - Massimo Bertozzi TIPI DI DATO IN C++ What's in a name? That which we call a rose By any other name would smell as sweet.
Rappresentazione di Numeri Reali
Programmazione in Java Claudia Raibulet
1 Numeri interi e numeri in virgola mobile F. Bombi 2 6 novembre 2003.
1 Corso di Informatica (Programmazione) Lezione 8 (7 novembre 2008) Programmazione in Java: operatori aritmetici, operatori di assegnamento e cast.
Informatica 6 Tipi di dato. Nelle celle di memoria di un calcolatore ci sono solo “0” e “1”, fisicamente realizzati tramite due diversi livelli di tensione.
Rappresentazioni a lunghezza fissa: problemi
Rappresentazione dell'informazione
Conversione binario-ottale/esadecimale
Rappresentazione dei numeri
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Numeri in virgola Marco D. Santambrogio – Ver. aggiornata al 24 Agosto 2015.
Cicli. Ci sono almeno tre modi diversi per costruire un ciclo in C e occorre utilizzare quello che meglio si adatta alle esigenze del problema che si.
I sistemi di numerazione
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Numeri con segno ed in virgola Marco D. Santambrogio – Ver. aggiornata al 20 Marzo.
Appunti su formati numerici. Tipi numerici Il C dispone di due tipi numerici: tipi interi e tipi reali; I tipi reali sono anche detti floating, ovvero.
Programmazione in Java Parte I: Fondamenti Lezione 1 Dott. Marco Faella.
Agile Group – DIEE, Università degli studi di Cagliari Università degli Studi di Cagliari Corso di Laurea in Ingegneria Elettronica ELEMENTI DI INFORMATICA.
NUMERI RELATIVI I numeri relativi comprendono i numeri positivi, negativi e lo 0 Esempio: +10, -5, +3, 0, -2 I numeri relativi si possono trovare all’interno.
- Addizione - Sottrazione - Moltiplicazione - Divisione.
NUMERI ed ERRORI MANOLO VENTURIN UNIVERSITÀ DEGLI STUDI DI PADOVA DIP. DI MATEMATICA PURA ED APPLICATA A. A. 2007/2008.
1 La Unità Aritmetico Logica. Aritmetica 32 operation result a b ALU.
NUMERI E E CARATTERI IN BINARIO
I Numeri.
Prova d’Esame: selezione di domande
Unità di apprendimento 1
Introduzione al linguaggio C
Lezione 2 Fondamenti di Programmazione.
INFORMATICA DI BASE I FONDAMENTI.
Process synchronization
GLI INSIEMI NUMERICI N – Z – Q – R – C
Lezione 2 Fondamenti di Informatica-Modulo Fondamenti di Programmazione.
Commenti Ogni riga che comincia con il simbolo # non viene letta dall’interprete per cui rappresenta un modo per commentare il listato # Questo è un esempio.
Prof.ssa Carolina Sementa
Numeri decimali e numeri interi
TIPI PRIMITIVI TIPI STRUTTURATI
Lezione 2 – A.A. 2016/2017 Prof. Giovanni Acampora
23) Esponenziali e logaritmi
Domanda 1 A cosa corrisponde in notazione decimale il numero binario positivo senza segno ) 32 2) 48 3) 46 4) 3 5) 36 September 18.
Rappresentazione dei Numeri
INFORMATICA DI BASE I FONDAMENTI.
I RADICALI Definizione di radicali Semplificazione di radicali
I monomi.
Codicfiche Interi Complemento alla base.
Numeri decimali e numeri interi
I numeri relativi DEFINIZIONE. Si dicono numeri relativi tutti i numeri interi, razionali e irrazionali dotati di segno (positivo o negativo). ESEMPI Numeri.
Programmazione e Laboratorio di Programmazione
Operazioni su Naturali
I NUMERI REALI ( ) come ampliamenti successivi
Corso di Informatica Applicata Introduzione
Dalle potenze ai numeri binari
Concetti base 1.1.
© 2007 SEI-Società Editrice Internazionale, Apogeo
L’INSIEME DEI NUMERI REALI
Sistemi Digitali.
La struttura dei primi programma in C
L’ELEVAMENTO A POTENZA
- 17 NUMERI RELATIVI 17 valore assoluto o modulo Segno negativo
Le variabili Tipo Valori ammissibili
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
ALGORITMO E’ una successione finita di passi che consente di risolvere tutti i problemi di una classe e di determinare il risultato. Caratteristiche: Finito.
Programmazione Procedurale
Transcript della presentazione:

JAVA usa una rappresentazione in VIRGOLA MOBILE TIPI DI DATI, 2a Parte Numeri Reali 2 tipi : - float (32 bit) - double (64 bit) La struttura di un numero reale (float o double) è data da 3 parti: - segno - mantissa - esponente JAVA usa una rappresentazione in VIRGOLA MOBILE standard definita nel documento IEEE754

IN GENERALE 8 4 5 2 4 2 3 mantissa - 8 4 5 2 , 4 2 3 Posizione della virgola SEGNO - 4 cifre nella parte intera - 3 cifre nella parte frazionaria esponente QUINDI : - 8452,423 = - 8452423 X 10-3 (-, 8452423, -3) (-, 8452423, 4) = - 0,8452423 X 104

In specifico IEEE 754 si lavora in binario; introduciamo il concetto di BIAS; per determinare l'esponente spostiamo la virgola dopo la cifra più significativa, che è sempre un 1, quindi non ho bisogno di rappresentare !!! Il bit prima della cifra più significativa è riservato al segno;

Quanti bit per parte ? Float Double

Esempio: -75 → sommo il bias → 52 Come sono memorizzati i numeri ? Premessa, parliamo del BIAS Segno Esponente + bias Mantissa BIAS: Per FLOAT: 127 ( = 128-1 = 27-1) Per DOUBLE: 1023 ( = 1024-1 = 210-1) Valori massimi rappresentabili con 7 e 10 bit Per comodità uso i numeri decimali, ma la rappresentazione della macchina rimane binaria SCOPO: Il BIAS permette di rappresentare ESPONENTI NEGATIVI con VALORI POSITIVI In altre parole traslo l'intervallo in cui è definito l'esponente: Esempio: -75 → sommo il bias → 52 -126 0 +127 1 127 255

Quindi il IEEE754 i numeri reali sono memorizzati . . . SEGNO NEGATIVO MANTISSA 1 10000101 11011010100000000000000 ESPONENTE + BIAS ESPONENTE: 10000101 – BIAS = 110 - 1,11011010100000000000000 x 2 110 questo 1 non era rappresentato

L'esponente assume il valore di tutti i bit a 0 solo per rappresentare 0,0 a condizione che anche segno e mantissa siano a 0: Segno: + Mantissa: 0 Esponente: -127

+ somma - sottrazione * moltiplicazione / divisione Operatori aritmetici: + somma - sottrazione * moltiplicazione / divisione N.B.: non c'è l'operazione di modulo

Conversioni implicite byte → short, int, long, float, double Conversione tra interi e interi, tra interi e reali e tra reali e reali: Conversioni implicite byte → short, int, long, float, double short → int, long, float, double int → long, float, double long → float, double float → double . . . Int a; Long b; b=a;

Conversioni esplicite . . . long A; int B; A = 5483; B = (int)A; Conversioni esplicite (pericolose – si possono ottenere risultati indesiderati) int → byte, short short → byte long → byte, short, int float → byte, short, int, long, char Double → byte, short, int, long, char, float CAST !!