Visual Basic
    • TUTORIAL
    • ESEMPI
    • RIFERIMENTI
    il mio computer

Operazioni aritmetiche

Gli operatori aritmetici si usano per eseguire operazioni aritmetiche che comprendono il calcolo di valori numerici rappresentati da valori letterali, variabili, espressioni e chiamate di funzioni e proprietà e costanti. Gli operatori aritmetici sono gli operatori di spostamento di bit, che agiscono a livello dei singoli bit degli operandi e spostano gli schemi di bit a destra o sinistra.

E' possibili sommare o sottrarre due o più valori assegnandoli ad una variabile usando il simbolo di + per sommare ed il simbolo di - per sottrarre. Quì sotto alcuni esempi.

Somme e Sottrazioni copia

L'operazione di negazione usa lo stesso simbolo della sottrazione - ma con un solo operando, come si può vedere nell'esempio sotto.

Negazione copia

Alla variabile c viene assegnato il valore -48

La moltiplicazione e la divisione usano rispettivamente il simbolo * per la moltiplicazione e il simbolo / per la divisione. Vediamo sotto un esempio.

Moltiplicazione e Divisione copia

Poi vediamo l'elevamento a potenza rappresentato dal simbolo ^

Elevamento a potenza copia

Il risultato assegnato sarà b = 64

Infine possiamo vedere la divisione intera che usa il simbolo \ e l'operazione che restituisce il resto di una divisione intera rappresentato dal modulo aritmetico mod

Divisione intera e resto della divisione intera copia

La prima riga di codice dichiara due variabili b e c di tipo Integer, la seconda riga esegue la divisione intera che assegna b = 4 e la terza riga assegna c = 3 che è il resto della divisione intera b = 23 \ 5

Operatori di spostamento bit

Una operazione di spostamento bit prevede un operando a sinistra, un operatore di spostamento bit a sinistra rappresentato da << oppure un operatore di spostamento bit a destra rappresentato da >> ed infine un operando che rappresenta il numero di spostamenti bit da effettuare. Si possono vedere qui sotto alcuni esempi.

16 << 1      risultato = 32
16 >> 1      risultato = 8
32 << 2      risultato = 128
32 >> 2      risultato = 8

Nella prima operazione spostando i bit del numero 16 di una posizione a sinistra si ottiene come risultato 32, questa operazione corrisponde a moltiplicare il numero per 2.
Nella seconda operazione invece spostando i bit del numero 16 a destra si ottiene come risultato 8, che corrisponde a dividere il primo operando per 2.
Nel terzo e quarto esempio si esegue una operazione di spostamento di bit del numero 32 a sinistra e poi a destra, questa volta di due posizioni.
Nel terzo esempio al primo spostamento a sinistra si ottiene come risultato 64 e al secondo spostamento si ottiene 128, questo significa anche moltiplicare il primo operando per 4 (in pratica ogni spostamento a sinistra corrisponde ad una moltiplicazione per 2).
Nel quarto esempio i due operandi sono gli stessi del terzo esempio mentre invece l'operatore è quello di spostamento bit a destra, in questo caso al primo spostamento si ottiene il valore 16 e al secondo come risutato finale si ottiene 8, che corrisponde a dividere il primo operando per 4 (in pratica ogni spostamento a destra corrisponde ad una divisione per 2).

Per comprendere bene l'operazione di spostamento bit è necessario conoscere il sistema binario. Ma prima vediamo il sistema decimale. Nel sistema decimale vengono usati 10 simboli (cifre) 0..9 cioè i numeri che vanno da 0 (zero) a 9. Il sistema decimale si dice sistema in base 10 (perchè usa 10 simboli (cifre)) e che è un sistema posizionale, ciò significa che i vari numeri assumono valore a seconda della posizione in cui si trovano.

Prendiamo ad esempio il numero 125. La formula che stabilisce il suo valore è questa:
5*10^0+2*10^1+1*10^2
cioè 5 moltiplicato 10 elevato alla zero perchè la posizione in cui si trova il 5 è la posizione 0 +
2 moltiplicato 10 elevato alla prima perchè la posizione in cui si trova il 2 è la posizione 1 +
1 moltiplicato 10 elevato alla seconda perchè la posizione in cui si trova 1 è la posizione 2

Quindi sapendo che l'ordine di precedenza delle operazioni matematiche è questa:
^ prima operazione eseguita è l'elevamento a potenza
* seconda operazione eseguita è la moltiplicazione
+ e ultima è la somma

Quindi abbiamo      10^0=1 * 5=      5 +
                                10^1=10 * 2=    20 +
                              10^2=100 * 1=  100 = 125

Nel sistema binario valgono esattamente le stesse regole ma con l'unica differenza che è in base 2, cioè che usa due soli simboli, 0 (zero) e 1

Prendiamo ad esempio il numero 0110 vediamo la sua risoluzione.

0*2^0+1*2^1+1*2^2+0*2^3
cioè 0 moltiplicato 2 elevato alla zero = 0 +
1 moltiplicato 2 elevato alla prima      = 2 +
1 moltiplicato 2 elevato alla seconda  = 4 +
0 moltiplicato 2 elevato alla terza        = 0 + 
                                                       0110 = 6

Adesso se scriviamo 6 << 1 otteniamo 12 che in binario è uguale al numero 1100.
Invece se scriviamo 6 >>1 otteniamo 3 che in binario è uguale a 0011.