La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Luigi Vetrano Corso di Reti di Calcolatori Slides di completamento per i problemi più comuni riscontrati durante il corso.

Presentazioni simili


Presentazione sul tema: "Luigi Vetrano Corso di Reti di Calcolatori Slides di completamento per i problemi più comuni riscontrati durante il corso."— Transcript della presentazione:

1 Luigi Vetrano Corso di Reti di Calcolatori Slides di completamento per i problemi più comuni riscontrati durante il corso

2 Luigi Vetrano Rudimenti di HTML Basic

3 3 La struttura di base di un documento HTML Titolo del documento Titolo del documento Testo di un paragrafo Testo di un paragrafo Tag strutturali di base: HTML, HEAD e BODY

4 4 Un primo esempio Il titolo del documento Il titolo del documento Natale 2007 Natale 2007

Il corpo del documento: contiene tutto cio` che il Il corpo del documento: contiene tutto cio` che il browser visualizzera`

1.Scrivere questo in un file di testo 2.Salvarlo come testo e con estensione html 3.Visualizzarlo con il browser

5 5 Titoli e paragrafi Titoli di diverso livello (fino a 6)Titoli di diverso livello (fino a 6) Un titolo di primo livello Un titolo di secondo livello Un titolo di terzo livello Un titolo di quarto livello Un altro titolo di secondo livello ParagrafiParagrafi – Questo è un primo paragrafo di testo – Questo è un secondo paragrafo di testo un po’ piu` lungo del primo

6 6 Enfasi e grassetto Enfasi Questo e` molto interessante ! Diverso da italico o grassetto che sono annotazioni stilistiche Questo e` molto interessante !

7 7 Le immagini – Come si catturano dal Web?Come si catturano dal Web?

8 8 I collegamenti (link) Per i collegamenti si usa il tag con attributo href il cui valore è l’URL della pagina che vogliamo collegare.Per i collegamenti si usa il tag con attributo href il cui valore è l’URL della pagina che vogliamo collegare. Pagina collegata Il testo tra e è il testo del collegamento che sarà visualizzato in blù e sottolineato dai browser.Il testo tra e è il testo del collegamento che sarà visualizzato in blù e sottolineato dai browser. Link assoluti e relativi:Link assoluti e relativi: W3C Home

9 9 Liste numerate e non

    il primo elemento della lista il secondo elemento il terzo elemento
    il primo elemento della lista il secondo elemento il terzo elemento

10 10 Come andare a capo e introdurre spazi Gli spazi e gli “a capo” nel file non servonoGli spazi e gli “a capo” nel file non servono –Per andare a capo si usa –Per introdurre spazi si usa il carattere speciale (spazio non "interrompibile"). EsempiEsempi –Mario Rossi –Dipartimento di Informatica –Coppito 2 – La bevanda più usata nel mondo e` la Coca Cola.

11 11 Tabelle Anno Vendite M M M

12 Luigi Vetrano Sistemi di numerazione Binario e Esadecimale

13 13 Sistema decimale Sistema utilizzato dall’uomo per fare i calcoli: –un numero può assumere 10 valori compresi tra 0 e 9 –a seconda della posizione il numero assume un peso differente e viene moltiplicato per potenze di 10 crescenti, partendo dalla prima posizione a destra: 1.a posiz. il numero viene moltiplicato per 1 (10 0 ) 2.a posiz. il numero viene moltiplicato per 10 (10 1 ) 3.a posiz. il numero viene moltiplicato per 100 (10 2 ) ecc. –esempio: 357 3x x10 + 7x1

14 14 Sistema binario Sistema impiegato dai computer e vari tipi di apparecchiature per fare i calcoli: –il bit può assumere 2 valori: 0 e 1 –a seconda della posizione il bit assume un peso differente e viene moltiplicato per potenze di 2 crescenti, partendo dalla prima posizione a destra: –1a posiz. il numero viene moltiplicato per 1 (2 0 ) –2a posiz. il numero viene moltiplicato per 2 (2 1 ) –3a posiz. il numero viene moltiplicato per 4 (2 2 ) ecc. –esempio: 101 1x4 + 0x2 + 1x1 = = 5

15 15 Pesi Binari

16 16 Calcolo di un valore = VALORE : x = 0x8409

17 17 Il byte Rappresenta l’insieme di 8 bit –può contenere valori compresi tra 0 e 255

18 18 Sequenza di byte Il byte più significativo è il primo a sinistra Il byte meno significativo è l’ultimo a destra

19 19 Funzioni logiche di base: NOT La funzione NOT inverte il valore del bit d’uscita rispetto a quello d’ingresso, ovvero ne fa il complemento

20 20 Funzioni logiche di base: AND La condizione di avere 1 in uscita è vera soltanto quando tutti gli ingressi sono a 1

21 21 Funzioni logiche di base: OR La condizione di avere 1 in uscita è vera quando un o più ingressi sono a 1

22 22 Il complemento Fare il complemento a di un numero binario significa invertire il valore di tutti i bit

23 23 Rappresentazione esadecimale Permette di rappresentare valori binari elevati senza dover scrivere lunghe sequenze binarie ( ) Si raggruppano sequenze di 4 bit e si scrive il valore in esse contenute (4 D E 7) Una sequenza di 4 bit può assumere valori compresi tra 0 e 15 –per rappresentare il valore di una sequenza di 4 bit con una sola cifra dopo il numero 9 si usano le lettere: A, B, C, D, E, F Il computer al suo interno lavora comunque solo con sequenze binarie

24 24 Rappresentazione esadecimale

25 25 The bitwise operators of C Il linguaggio C non ha operatori per operazioni sui bit.Il linguaggio C non ha operatori per operazioni sui bit. –AND operation is represented by the binary & operator. –OR operation is represented by the binary | operator. –XOR operation is represetned by the binary ^ operator. –NOT operation is represented by the unary ~ operator. The shift operations are performed by C’s > binary operators. The > operator performs right shifts.The shift operations are performed by C’s > binary operators. The > operator performs right shifts.

26 26 Le operazioni binarie and, or e xor Quando un’operazione sui bit viene applicata a numeri interi, l’operazione viene svolta sui bit corrispondenti. xy ANDORXOR x&yx|yx^y xComplemento~x 01 10

27 27 Esempio : 46 & 13 Per prima cosa convertire in binario entrambi i valori: = = & = 12 10

28 28 Bit Operations: Esempio x y x&y x|y x^y ~x

29 29 Operatore OR ‘ Operatore OR ‘|’ A volte si vede l’operatore | usato per combinare due schemi di bit. esempio –Font.BOLD ha il valore 1, Font.ITALIC ha il valore 2. –La combinazione Font.BOLD | Font.ITALIC ha impostati a 1 sia il bit per il grassetto sia quello per il corsivo: Font.BOLD | Font.ITALIC = 3 10 Warning: Non confondete gli operatori per i bit & e | con gli operatori && e ||. Questi ultimi operano soltanto su valori di tipo boolean, e non sui bit di numeri.

30 30 Bit Operators vs Logical Operators Logical operations:Logical operations: 37 && 246 → 1 (T) 37 || 246 → 1 (T) ! 37 → 0 (F) Bit operations:Bit operations: 37 & 246 → | 246 → 247 ~ 37 → 218

31 31 Masking and Setting x b7b7b7b7 b6b6b6b6 b5b5b5b5 b4b4b4b4 b3b3b3b3 b2b2b2b2 b1b1b1b1 b0b0b0b x&28000 b4b4b4b4 b3b3b3b3 b2b2b2b x| b4b4b4b4 b3b3b3b3 b2b2b2b211

32 32 operazioni di scorrimento Oltre alle operazioni che operano su singoli bit, esistono anche tre operazioni di scorrimento che prendono lo schema di bit di un numero e lo spostano a sinistra o a destra di un certo numero di posizioni.Oltre alle operazioni che operano su singoli bit, esistono anche tre operazioni di scorrimento che prendono lo schema di bit di un numero e lo spostano a sinistra o a destra di un certo numero di posizioni. Esistono tre operazioni di scorrimento: scorrimento a sinistra ( >) e scorrimento a destra bit a bit (>>>).Esistono tre operazioni di scorrimento: scorrimento a sinistra ( >) e scorrimento a destra bit a bit (>>>). Lo scorrimento a sinistra sposta tutti i bit verso sinistra, inserendo zeri nei bit meno significativi. Lo spostamento a sinistra di n bit fornisce lo stesso risultato di una moltiplicazione per 2n.Lo scorrimento a sinistra sposta tutti i bit verso sinistra, inserendo zeri nei bit meno significativi. Lo spostamento a sinistra di n bit fornisce lo stesso risultato di una moltiplicazione per 2n. Lo scorrimento aritmetico verso destra sposta tutti i bit a destra, propagando il bit di segno: quindi, il risultato è uguale a quello della divisione intera per 2n, sia per valori positivi che per valori negativi.Lo scorrimento aritmetico verso destra sposta tutti i bit a destra, propagando il bit di segno: quindi, il risultato è uguale a quello della divisione intera per 2n, sia per valori positivi che per valori negativi. Infine, lo scorrimento a destra bit a bit sposta tutti i bit a destra, inserendo zeri nei bit più significativi (osservate la prossima slide).Infine, lo scorrimento a destra bit a bit sposta tutti i bit a destra, inserendo zeri nei bit più significativi (osservate la prossima slide).

33 33 Scorrimento Scorrimento a sx (<<) Scorrimento aritm. a dx (>>) Scorrimento bit-a-bit a dx (>>>) Nota: Il ‘C’ ha solo le prime due mentre Java le ha tutte e tre

34 34 Set e Check 1 << n fornisce uno schema di bit in cui il bit n-esimo vale 1 (contando le posizioni a partire dalla posizione 0 del bit meno significativo). Per impostare a 1 il bit n-esimo di un numero, eseguite l’operazione x = x | 1 << n Per controllare se il bit n-esimo di un numero vale 1, eseguite la verifica if ((x & 1 << n) != 0)... –Notate che le parentesi attorno all’operatore & sono necessarie, perché ha una precedenza minore degli operatori relazionali.

35 35 Shift Operations Shift operators move bit patterns either left or rightShift operators move bit patterns either left or right –1 bit left: multiply by 2 –1 bit right: divide by 2 x x<<1 x<<2 x<<3 x>>1 x>>2 x>>3

36 36 Shift Operations Shift operators move bit patterns either left or rightShift operators move bit patterns either left or right –1 bit left: multiply by 2 –1 bit right: divide by 2 x x<< x<< x<< x>> x>> x>>

37 37 Bit manipulation in C /* ** Macro per la manipolazione dei bits in un ‘data type’. */ #define ToBOOL(x) (!(!(x))) #define BitSet(arg,posn) ((arg) | (1L << (posn))) #define BitClr(arg,posn) ((arg) & ~(1L << (posn))) #define BitFlp(arg,posn) ((arg) ^ (1L << (posn))) #define BitTst(arg,posn) ToBOOL((arg) & (1L << (posn))) Nota: Excerpt from ‘C-Snippets’

38 38 Esempio di codice C che fa uso operatori short int s ; // assume that short int is 16−bit short unsigned u; s = −1; // s = 0xFFFF (2’s complement) u = 100; // u = 0x0064 u = u | 0x0100; // u = 0x0164 s = s & 0xFFF0; // s = 0xFFF0 s = s ^ u;// s = 0xFE94 u = u << 3; // u = 0x0B20 (logical shift) s = s >> 2; // s = 0xFFA5 (arithmetic shift)

39 39 Network byte order Il TCP/IP memorizza gli interi in notazione big endian (network byte order) indipendentemente dall’architettura degli hosts. Fortunatamente esistono nel TCP/IP delle librerie C dove ci sono funzioni che gestiscono il problema dell’endianness: –Esempio: htonl() converte una double word (o long integer) dal formato host a quello network. ntohl() esegue la trasformazione opposta. Analogamente esistono: ntohs e htons per gli short

40 40 Come Determinare l’Endianness // // Si suppone che sizeof (short) = 2 //#include int main() { unsigned short word = 0x1234; unsigned char p = (unsigned char ) word; if ( p == 0x12 ) printf ("0x%x -- Big Endian Machine\n",p); else printf ("0x%x -- Little Endian Machine\n",p); return 0; }

41 41 Lunghezza password Lower Case (26 letters) Uppercase, Lower, Digits (62 chars) Uppercase, Lower, Digits, Punctuation (65 chars) Length = 5 characters 19 minutes1 day8 days Length = 6 characters 18 hours65 days2 years Length = 7 characters 9 days11 years200 years Length = 8 characters 241 days692 years19,000 years Length = 9 characters 17 years42,000 years 1.8 million years (STRONG)


Scaricare ppt "Luigi Vetrano Corso di Reti di Calcolatori Slides di completamento per i problemi più comuni riscontrati durante il corso."

Presentazioni simili


Annunci Google