Istituto Tecnico Industriale "Enrico Fermi"

Help On Chat

[Ritorna all'elenco sessioni]

Chat del 30 Novembre 2017 dalle 19:02:53 alle 19:34:54

Stefano Salvi
Buona sera. Quando volete iniziare con le domande, partite pure.
Filippo BELLANZA
Buonasera prof. non abbiamo capito cos\'è una maschera
Stefano Salvi
Una MASCHERA è un NUMERO INTERO che viene messo in AND con un\'altro. In questo modo del secondo numero restano "accesi" solo i bit indicati dalla machera (quelli che sono ad 1 anche nella maschera).
Filippo BELLANZA
potrebbe fare un esempio?
Stefano Salvi
Facciamo un esempio: se ho una maschera che ha un solo bit, facendo la & di qualunque numero con quella maschera, potrò vedere se quel numero ha il bit indicato dalla maschera ad 1 o a 0.
Andrea POTITO
ma la maschera la definiamo assegnandole la somma dei valori dei bit? (es. maschera=2+4+8+16+32)
Filippo BELLANZA
Stefano Salvi
Passiamo ad un esempio numerico (usando 8 bit per semplicità): Maschera=0x4 = 00000100 (in solo bit a 1); numero = 0x75 = 01110101; numero & maschera = 0x04 = 00000100; Se invece numero = 0x03 = 00000011 allora Numero & maschera = 0x00 = 00000000
Potito: si, un ottimo modo per definire la maschera è tramite la somma dei pesi dei bit che ci interessano. Al posto ddlla somma potrei usare l\' | (or).
Andrea POTITO
come faccio a capire quando utilizzare un ciclo for oppure la somma dei pesi dei bit?
Stefano Salvi
Se i bit sono noti dall\'inizio e costanti, puoi sommare i pesi direttamente in una costante. Se invece devi calcolare la maschera in base ai dati inseriti dall\'utente, allora sei costretto a fare un ciclo FOR. Naturalmente anche nel primo caso non è vietato fare il ciclo for (ma io lo trovo più brutto).
Il ciclo FOR calcola i pesi dei bit.
Andrea POTITO
e una volta calcolati i pesi dei bit come faccio a decidere quali bit cambiare in base alla consegna? con un AND?
Stefano Salvi
Potiito: se devi cambiare dei bit in base alla consegna, magari ti conviene usare maschere separate per ogni bit, per decidere meglio. Un bit lo puoi cambiare facendo l\'Exclusive OR (XOR - ^ ) tra il numero e la maschera.
Luca TRAZZI
Buanasera prof. può fare un esempio dove la maschera deve essere calcolata in base dell\'utente???
Stefano Salvi
Se poi hai dei casi particolari, puoi valutare di combinare le maschere (sommare i bit) sia nell & che nell\' == e scambiare più bit assieme.
Gianluca MELE
Buonasera prof. È obbligatorio mettere il prefisso 0x quando si stampano dei numeri esadecimali?
Stefano Salvi
Trazzi: un possibile testo potrebbe essere "estrarre a caso un carattere maiuscolo ed un numero di bit tra 0 e 5, stampare il carattere estratto come carattere, in esadecomale e binario, quindi invertire il bit estratto e ristampare come caratttere, in esadecimale e binario".
MELE: quando si SCRIVONO dei numeri esadecimali è obbligatorio per fare capire che il numero non è né decimale né ottale. Quando si stampano è una mera questione estetica. A me piace perché evidenzia senza tante parole che il numero è esadecimale. Mi piace anche stampare anche gli zeri non significativi, per indicare immediatament ela dimensione del numero.
Luca TRAZZI
Prof. mi scusi ma faccio fatica a comprendere l\'esempio che mi ha fatto anche perché in classe uno simile non l\'abbiamo mai affrontato.. Qualcosa di più alla nostra portata?
Stefano Salvi
L\'esempio di calcolo o di esercizio?
Luca TRAZZI
Non ho capito nemmeno quale sia lo scopo dell\'esercizio se devo essere sincero
Stefano Salvi
Nell\'esercizio ti si chiede di modificare un numero secondo un criterio. Il numero risulta essere anche un codice ASCII. Ti si chiedere di scegliere a caso il numero (o il carattere), quindi un casiuale con DA = \'A\' ed A = \'Z\'. Di questo numero (o carattere) devo cambiare un bit, ma non uno fisso, bensì uno scelto a caso. Va meglio?
Poi non so se sia troppo difficile o meno (Ghirimoldi lo deciderà - non ho idea di che esercizi abbia inventato)
Ora è meglio che vi saluti, perché è l\'ora della chat dela quinta.
Nicola VENTURINI
Già
Andrea POTITO
Ok grazie, buona serata prof.
Stefano Salvi
Chiudo, riavvio il server e riapro per la quinta (pazienza Venturini!!!! porcocane!)
Federico DI GIACOMO
adios
Stefano Salvi
Buona cena, buon riposo ed in bocca al lupo.

[Ritorna all'elenco sessioni]