Di seguito viene mostrato un programma d'esempio dell'utilizzo degli operatori bitwise con il linguaggio C# //operatore AND int a = 74; int b = 174; int c = a & b; this.RichTextBox.Text = "a vale " + a + ", b vale " + b + ", c, ottenuto con l'operatore AND vale " + …
I PRINCIPALI OPERATORI
In VB.NET e in C# è possibile suddividere gli operatori in due modalità: per il numero di operandi che utilizzano e per la loro funzionalità. Vediamo prima la classificazione in base ai numero di operandi unary: sono gli operatori che comprendono un solo operando. Il caso più semplice è l'operatore NOT, utilizzato in VB.NET sia …
TIPI A PRECISIONE ARBITRARIA E BIGINTEGER
Fino ad ora abbiamo sempre parlato e usato tipi a precisione fissa, cioè tipi che hanno un range limitato di numeri che possono rappresentare poiché si ha un numero fisso, appunto, di bit da poter utilizzare. Esistono però dei tipi che non hanno questo limite. Tali tipi sono detti a "precisione arbitraria" poiché l'unico limite …
Continua a leggere "TIPI A PRECISIONE ARBITRARIA E BIGINTEGER"
ALGORITMI PER IL CALCOLO DEL FATTORIALE
Negli articoli precedenti abbiamo visto che l'algoritmo "naive" per il calcolo della media, varianza e covarianza, non sempre risulta essere il migliore, infatti spesso di preferisce un algoritmo leggermente più complesso ma molto più efficiente. Questo discorso può essere fatto anche per il calcolo di un fattoriale. Nell'articolo precedente è stato preso come esempio per …
Continua a leggere "ALGORITMI PER IL CALCOLO DEL FATTORIALE"
LA STRUTTURA TRY-CATCH E LA GESTIONE DELLE ECCEZIONI
Negli articoli precedenti abbiamo parlato del problema di overflow o di underflow dei tipi di variabili che rappresentano interi o floating point. Quando si verificano questi errori si commette una exception cioè un errore che impedisce il corretto avanzamento del programma creato. A volte non ci si rende conto che si stanno per commettere questo …
Continua a leggere "LA STRUTTURA TRY-CATCH E LA GESTIONE DELLE ECCEZIONI"
CONVENZIONE SUI NOMI
Phil Karlton, un programmatore della Microsoft, una volta affermò che una delle due cose più difficili per un programmatore è dare dei nomi agli oggetti, e non aveva tutti i torti. Quando si crea un programma che verrà utilizzato esclusivamente dal programmatore che l'ha generato, il problema quasi non sussiste. Quando invece si parla di …
LISTE E DIZIONARI
Quando abbiamo presentato gli array, abbiamo anche sottolineato che in realtà questi rappresentano strutture piuttosto antiquate. Gli array infatti sono stati una delle prime strutture create nei linguaggi di programmazione poiché con il loro utilizzo è possibile risolvere molti problemi. Con il tempo però sono state create delle nuove strutture, più potenti e versatili, che non …
PERDITA DI SIGNIFICATIVITA’ E CANCELLAZIONE CATASTROFICA
Nell'ultimo articolo abbiamo parlato della rappresentazione dei numeri interi e dei numeri con la virgola, i così detti floating point. Velocemente ricordiamo che in entrambi i casi è possibile incorrere in errori di overflow, mentre solo nel caso di utilizzo di floating point, si può incorrere in roundoff error e underflow. In realtà quando si …
Continua a leggere "PERDITA DI SIGNIFICATIVITA’ E CANCELLAZIONE CATASTROFICA"
RAPPRESENTAZIONE TIPI INTERI E FLOATING POINT
Quando si eseguono molte operazioni con delle variabili sia intere che floating point, non è raro incorrere in diversi tipi di errori. Per evitare di incorrere in questi "warning" perciò cerchiamo di capire cosa accade nella macchina quando inizializziamo una variabile. Quando si crea una variabile si alloca una certa quantità di bit, inizialmente vuota. …
Continua a leggere "RAPPRESENTAZIONE TIPI INTERI E FLOATING POINT"
ARRAY, FOR E FOREACH
Oltre alle istruzioni già viste nei precedenti articoli, un buon programmatore deve anche conoscere e saper usare le principali raccolte di oggetti, le collections. Tra questi uno dei più importanti e più storico è l'array, cioè un insieme indicizzato di elementi, e più esattamente può essere definito come una struttura sequenziale di oggetti. Proprio per …
