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.
|