![Page 1: Variabili e memoria · © Il Team di “Programmazione Scientifica” Variabili e costanti a = 2; b = 3.5; c = 2.; 0xffffa000 0xffffa001 0xffffa002 00000010 0xffffa003 0xffffa004](https://reader034.vdocuments.net/reader034/viewer/2022050214/5f6092a8ce91641aec75fc29/html5/thumbnails/1.jpg)
© Il Team di “Programmazione Scientifica”
Variabili e memoria
Corso di Laboratorio di Calcolo
![Page 2: Variabili e memoria · © Il Team di “Programmazione Scientifica” Variabili e costanti a = 2; b = 3.5; c = 2.; 0xffffa000 0xffffa001 0xffffa002 00000010 0xffffa003 0xffffa004](https://reader034.vdocuments.net/reader034/viewer/2022050214/5f6092a8ce91641aec75fc29/html5/thumbnails/2.jpg)
© Il Team di “Programmazione Scientifica”
Variabili e costantia = 2;b = 3.5;c = 2.;
0xffffa000
0xffffa001
0xffffa002 00000010
0xffffa003
0xffffa004
0xffffa005
0xffffa006
0xffffa007
![Page 3: Variabili e memoria · © Il Team di “Programmazione Scientifica” Variabili e costanti a = 2; b = 3.5; c = 2.; 0xffffa000 0xffffa001 0xffffa002 00000010 0xffffa003 0xffffa004](https://reader034.vdocuments.net/reader034/viewer/2022050214/5f6092a8ce91641aec75fc29/html5/thumbnails/3.jpg)
© Il Team di “Programmazione Scientifica”
Variabili e costantia = 2;b = 3.5;c = 2.;
Nota: per brevitàle variabili interesono rappresentateusando solo 8 bit
0xffffa000
0xffffa001
0xffffa002 00000010
0xffffa003
0xffffa004
0xffffa005
0xffffa006
0xffffa007
![Page 4: Variabili e memoria · © Il Team di “Programmazione Scientifica” Variabili e costanti a = 2; b = 3.5; c = 2.; 0xffffa000 0xffffa001 0xffffa002 00000010 0xffffa003 0xffffa004](https://reader034.vdocuments.net/reader034/viewer/2022050214/5f6092a8ce91641aec75fc29/html5/thumbnails/4.jpg)
© Il Team di “Programmazione Scientifica”
Variabili e costantia = 2;b = 3.5;c = 2.;
0xffffa000
0xffffa001
0xffffa002 00000010
0xffffa003 01000000
0xffffa004 01100000
0xffffa005 00000000
0xffffa006 00000000
0xffffa007
3.5 = (1 + 0.75)*21
NOTA: l’esponente èrappresentato in eccesso (cap.1,p.19)
![Page 5: Variabili e memoria · © Il Team di “Programmazione Scientifica” Variabili e costanti a = 2; b = 3.5; c = 2.; 0xffffa000 0xffffa001 0xffffa002 00000010 0xffffa003 0xffffa004](https://reader034.vdocuments.net/reader034/viewer/2022050214/5f6092a8ce91641aec75fc29/html5/thumbnails/5.jpg)
© Il Team di “Programmazione Scientifica”
Variabili e costantia = 2;b = 3.5;c = 2.;
0xffffa002 00000010
0xffffa003 01000000
0xffffa004 01100000
0xffffa005 00000000
0xffffa006 00000000
0xffffa007 01000000
0xffffa008 00000000
0xffffa009 00000000
0xffffa00a 00000000
2. = (1 + 0)*21
![Page 6: Variabili e memoria · © Il Team di “Programmazione Scientifica” Variabili e costanti a = 2; b = 3.5; c = 2.; 0xffffa000 0xffffa001 0xffffa002 00000010 0xffffa003 0xffffa004](https://reader034.vdocuments.net/reader034/viewer/2022050214/5f6092a8ce91641aec75fc29/html5/thumbnails/6.jpg)
© Il Team di “Programmazione Scientifica”
Variabili e costantia = 2;b = 3.5;c = 2.;d = ‘f’;
0xffffa003 01000000
0xffffa004 01100000
0xffffa005 00000000
0xffffa006 00000000
0xffffa007 01000000
0xffffa008 00000000
0xffffa009 00000000
0xffffa00a 00000000
0xffffa00b 01100110
f ↔ 102 (6616)
![Page 7: Variabili e memoria · © Il Team di “Programmazione Scientifica” Variabili e costanti a = 2; b = 3.5; c = 2.; 0xffffa000 0xffffa001 0xffffa002 00000010 0xffffa003 0xffffa004](https://reader034.vdocuments.net/reader034/viewer/2022050214/5f6092a8ce91641aec75fc29/html5/thumbnails/7.jpg)
© Il Team di “Programmazione Scientifica”
Operatori matematici
c = a + b;
0xffffa002 00000010
0xffffa003 01000000
0xffffa004 01100000
0xffffa005 00000000
0xffffa006 00000000
0xffffa007 01000000
0xffffa008 00000000
0xffffa009 00000000
0xffffa00a 00000000
![Page 8: Variabili e memoria · © Il Team di “Programmazione Scientifica” Variabili e costanti a = 2; b = 3.5; c = 2.; 0xffffa000 0xffffa001 0xffffa002 00000010 0xffffa003 0xffffa004](https://reader034.vdocuments.net/reader034/viewer/2022050214/5f6092a8ce91641aec75fc29/html5/thumbnails/8.jpg)
© Il Team di “Programmazione Scientifica”
Operatori matematici
c = a + b;
0xffffa002 00000010
0xffffa003 01000000
0xffffa004 01100000
0xffffa005 00000000
0xffffa006 00000000
0xffffa007 01000000
0xffffa008 00000000
0xffffa009 00000000
0xffffa00a 00000000
Nota: nel registro della CPU il numero 2 viene “promosso” afloat
![Page 9: Variabili e memoria · © Il Team di “Programmazione Scientifica” Variabili e costanti a = 2; b = 3.5; c = 2.; 0xffffa000 0xffffa001 0xffffa002 00000010 0xffffa003 0xffffa004](https://reader034.vdocuments.net/reader034/viewer/2022050214/5f6092a8ce91641aec75fc29/html5/thumbnails/9.jpg)
© Il Team di “Programmazione Scientifica”
Operatori matematici
c = a + b;
0xffffa002 00000010
0xffffa003 01000000
0xffffa004 01100000
0xffffa005 00000000
0xffffa006 00000000
0xffffa007 01000000
0xffffa008 00000000
0xffffa009 00000000
0xffffa00a 00000000
![Page 10: Variabili e memoria · © Il Team di “Programmazione Scientifica” Variabili e costanti a = 2; b = 3.5; c = 2.; 0xffffa000 0xffffa001 0xffffa002 00000010 0xffffa003 0xffffa004](https://reader034.vdocuments.net/reader034/viewer/2022050214/5f6092a8ce91641aec75fc29/html5/thumbnails/10.jpg)
© Il Team di “Programmazione Scientifica”
Operatori matematici
c = a + b;
0xffffa002 00000010
0xffffa003 01000000
0xffffa004 01100000
0xffffa005 00000000
0xffffa006 00000000
0xffffa007 01000000
0xffffa008 10110000
0xffffa009 00000000
0xffffa00a 00000000
5.5 = (1 + 0.375)*22
![Page 11: Variabili e memoria · © Il Team di “Programmazione Scientifica” Variabili e costanti a = 2; b = 3.5; c = 2.; 0xffffa000 0xffffa001 0xffffa002 00000010 0xffffa003 0xffffa004](https://reader034.vdocuments.net/reader034/viewer/2022050214/5f6092a8ce91641aec75fc29/html5/thumbnails/11.jpg)
© Il Team di “Programmazione Scientifica”
Operatori speciali
a = 2;b = ++a;
0xffffa002 00000010
0xffffa003
![Page 12: Variabili e memoria · © Il Team di “Programmazione Scientifica” Variabili e costanti a = 2; b = 3.5; c = 2.; 0xffffa000 0xffffa001 0xffffa002 00000010 0xffffa003 0xffffa004](https://reader034.vdocuments.net/reader034/viewer/2022050214/5f6092a8ce91641aec75fc29/html5/thumbnails/12.jpg)
© Il Team di “Programmazione Scientifica”
Operatori speciali
a = 2;b = ++a;
0xffffa002 00000011
0xffffa003 00000011
![Page 13: Variabili e memoria · © Il Team di “Programmazione Scientifica” Variabili e costanti a = 2; b = 3.5; c = 2.; 0xffffa000 0xffffa001 0xffffa002 00000010 0xffffa003 0xffffa004](https://reader034.vdocuments.net/reader034/viewer/2022050214/5f6092a8ce91641aec75fc29/html5/thumbnails/13.jpg)
© Il Team di “Programmazione Scientifica”
Operatori speciali
a = 2;b = ++a;
a = 2;b = a++;
0xffffa002 00000010
0xffffa003
![Page 14: Variabili e memoria · © Il Team di “Programmazione Scientifica” Variabili e costanti a = 2; b = 3.5; c = 2.; 0xffffa000 0xffffa001 0xffffa002 00000010 0xffffa003 0xffffa004](https://reader034.vdocuments.net/reader034/viewer/2022050214/5f6092a8ce91641aec75fc29/html5/thumbnails/14.jpg)
© Il Team di “Programmazione Scientifica”
Operatori speciali
a = 2;b = ++a;
a = 2;b = a++;
0xffffa002 00000011
0xffffa003 00000010
![Page 15: Variabili e memoria · © Il Team di “Programmazione Scientifica” Variabili e costanti a = 2; b = 3.5; c = 2.; 0xffffa000 0xffffa001 0xffffa002 00000010 0xffffa003 0xffffa004](https://reader034.vdocuments.net/reader034/viewer/2022050214/5f6092a8ce91641aec75fc29/html5/thumbnails/15.jpg)
© Il Team di “Programmazione Scientifica”
Programmi e variabili
main() {float tc, tf = 90., conv;float offset = 32.;conv = 5./9.;tc = (tf – offset) * conv;
}
? 90. ?tc tf conv
![Page 16: Variabili e memoria · © Il Team di “Programmazione Scientifica” Variabili e costanti a = 2; b = 3.5; c = 2.; 0xffffa000 0xffffa001 0xffffa002 00000010 0xffffa003 0xffffa004](https://reader034.vdocuments.net/reader034/viewer/2022050214/5f6092a8ce91641aec75fc29/html5/thumbnails/16.jpg)
© Il Team di “Programmazione Scientifica”
Programmi e variabili
main() {float tc, tf = 90., conv;float offset = 32.;conv = 5./9.;tc = (tf – offset) * conv;
}
? 90. ? 32.tc tf conv offset
![Page 17: Variabili e memoria · © Il Team di “Programmazione Scientifica” Variabili e costanti a = 2; b = 3.5; c = 2.; 0xffffa000 0xffffa001 0xffffa002 00000010 0xffffa003 0xffffa004](https://reader034.vdocuments.net/reader034/viewer/2022050214/5f6092a8ce91641aec75fc29/html5/thumbnails/17.jpg)
© Il Team di “Programmazione Scientifica”
Programmi e variabili
main() {float tc, tf = 90., conv;float offset = 32.;conv = 5./9.;tc = (tf – offset) * conv;
}
? 90. 0.555 32.tc tf conv offset
![Page 18: Variabili e memoria · © Il Team di “Programmazione Scientifica” Variabili e costanti a = 2; b = 3.5; c = 2.; 0xffffa000 0xffffa001 0xffffa002 00000010 0xffffa003 0xffffa004](https://reader034.vdocuments.net/reader034/viewer/2022050214/5f6092a8ce91641aec75fc29/html5/thumbnails/18.jpg)
© Il Team di “Programmazione Scientifica”
Programmi e variabili
main() {float tc, tf = 90., conv;float offset = 32.;conv = 5./9.;tc = (tf – offset) * conv;
}
32.22 90. 0.555 32.
tc tf conv offset
![Page 19: Variabili e memoria · © Il Team di “Programmazione Scientifica” Variabili e costanti a = 2; b = 3.5; c = 2.; 0xffffa000 0xffffa001 0xffffa002 00000010 0xffffa003 0xffffa004](https://reader034.vdocuments.net/reader034/viewer/2022050214/5f6092a8ce91641aec75fc29/html5/thumbnails/19.jpg)
© Il Team di “Programmazione Scientifica”
Test
Cosa accade se eseguo il programma?Nulla, perché non ci sono istruzioni di output!
![Page 20: Variabili e memoria · © Il Team di “Programmazione Scientifica” Variabili e costanti a = 2; b = 3.5; c = 2.; 0xffffa000 0xffffa001 0xffffa002 00000010 0xffffa003 0xffffa004](https://reader034.vdocuments.net/reader034/viewer/2022050214/5f6092a8ce91641aec75fc29/html5/thumbnails/20.jpg)
© Il Team di “Programmazione Scientifica”
Input/Output
scanf(“%f”, &tf);
![Page 21: Variabili e memoria · © Il Team di “Programmazione Scientifica” Variabili e costanti a = 2; b = 3.5; c = 2.; 0xffffa000 0xffffa001 0xffffa002 00000010 0xffffa003 0xffffa004](https://reader034.vdocuments.net/reader034/viewer/2022050214/5f6092a8ce91641aec75fc29/html5/thumbnails/21.jpg)
© Il Team di “Programmazione Scientifica”
Input/Output
scanf(“%f”, &tf);
90
![Page 22: Variabili e memoria · © Il Team di “Programmazione Scientifica” Variabili e costanti a = 2; b = 3.5; c = 2.; 0xffffa000 0xffffa001 0xffffa002 00000010 0xffffa003 0xffffa004](https://reader034.vdocuments.net/reader034/viewer/2022050214/5f6092a8ce91641aec75fc29/html5/thumbnails/22.jpg)
© Il Team di “Programmazione Scientifica”
Input/Output
scanf(“%f”, &tf);
90 = (1+0.40625)26
010000101011010000000000...
![Page 23: Variabili e memoria · © Il Team di “Programmazione Scientifica” Variabili e costanti a = 2; b = 3.5; c = 2.; 0xffffa000 0xffffa001 0xffffa002 00000010 0xffffa003 0xffffa004](https://reader034.vdocuments.net/reader034/viewer/2022050214/5f6092a8ce91641aec75fc29/html5/thumbnails/23.jpg)
© Il Team di “Programmazione Scientifica”
Input/Output
scanf(“%f”, &tf);
90 = (1+0.40625)26
010000101011010000000000...
90.
![Page 24: Variabili e memoria · © Il Team di “Programmazione Scientifica” Variabili e costanti a = 2; b = 3.5; c = 2.; 0xffffa000 0xffffa001 0xffffa002 00000010 0xffffa003 0xffffa004](https://reader034.vdocuments.net/reader034/viewer/2022050214/5f6092a8ce91641aec75fc29/html5/thumbnails/24.jpg)
© Il Team di “Programmazione Scientifica”
Input/Output
printf(“%f F = %f C\n”, tf, tc);
![Page 25: Variabili e memoria · © Il Team di “Programmazione Scientifica” Variabili e costanti a = 2; b = 3.5; c = 2.; 0xffffa000 0xffffa001 0xffffa002 00000010 0xffffa003 0xffffa004](https://reader034.vdocuments.net/reader034/viewer/2022050214/5f6092a8ce91641aec75fc29/html5/thumbnails/25.jpg)
© Il Team di “Programmazione Scientifica”
Input/Output
printf(“%f F = %f C\n”, tf, tc);
![Page 26: Variabili e memoria · © Il Team di “Programmazione Scientifica” Variabili e costanti a = 2; b = 3.5; c = 2.; 0xffffa000 0xffffa001 0xffffa002 00000010 0xffffa003 0xffffa004](https://reader034.vdocuments.net/reader034/viewer/2022050214/5f6092a8ce91641aec75fc29/html5/thumbnails/26.jpg)
© Il Team di “Programmazione Scientifica”
Input/Output
printf(“%f F = %f C\n”, tf, tc);
90.000000 F = ...
![Page 27: Variabili e memoria · © Il Team di “Programmazione Scientifica” Variabili e costanti a = 2; b = 3.5; c = 2.; 0xffffa000 0xffffa001 0xffffa002 00000010 0xffffa003 0xffffa004](https://reader034.vdocuments.net/reader034/viewer/2022050214/5f6092a8ce91641aec75fc29/html5/thumbnails/27.jpg)
© Il Team di “Programmazione Scientifica”
Input/Output
printf(“%f F = %f C\n”, tf, tc);
90.000000 F = 32.222222 C...
![Page 28: Variabili e memoria · © Il Team di “Programmazione Scientifica” Variabili e costanti a = 2; b = 3.5; c = 2.; 0xffffa000 0xffffa001 0xffffa002 00000010 0xffffa003 0xffffa004](https://reader034.vdocuments.net/reader034/viewer/2022050214/5f6092a8ce91641aec75fc29/html5/thumbnails/28.jpg)
© Il Team di “Programmazione Scientifica”
Input/Output
printf(“%f F = %f C\n”, tf, tc);
90.000000 F = 32.222222 C>
![Page 29: Variabili e memoria · © Il Team di “Programmazione Scientifica” Variabili e costanti a = 2; b = 3.5; c = 2.; 0xffffa000 0xffffa001 0xffffa002 00000010 0xffffa003 0xffffa004](https://reader034.vdocuments.net/reader034/viewer/2022050214/5f6092a8ce91641aec75fc29/html5/thumbnails/29.jpg)
© Il Team di “Programmazione Scientifica”
Importanza della rappresentazione
(tc – offset) * 5./ 9.;(tc – offset) * 5./ 9;(tc – offset) * 5 / 9;
5 / 9 * (tf – offset);
![Page 30: Variabili e memoria · © Il Team di “Programmazione Scientifica” Variabili e costanti a = 2; b = 3.5; c = 2.; 0xffffa000 0xffffa001 0xffffa002 00000010 0xffffa003 0xffffa004](https://reader034.vdocuments.net/reader034/viewer/2022050214/5f6092a8ce91641aec75fc29/html5/thumbnails/30.jpg)
© Il Team di “Programmazione Scientifica”
Direttive
#includeConsente di includere il contenuto di un altro file
#defineDefinisce un simbolo (Attenzione!!!)
#ifdef, #ifndef, #elseCompilazione condizionale