Sto studiando programmazione da autodidatta con libri trovati free sul web e le sue lezioni stanno risolvendo tutti i miei dubbi , tra l'altro il suo tono di voce la sua "ironia" rendono le lezioni molto interessanti e mai noiose , vedrò tutti i suoi video con il giusto tempo per metabolizzarli ...complimenti per il lavoro svolto e grazie infinite :)
Salve prof, ho un dubbio sul bitwise: perché se nego bit a bit la variabile eta che è uguale a "17" (10001), ottengo come printline "-18" ? che convertito in bit è uguale a "-10010" e quindi non a "01110" ? Grazie.
Provo a rispondere io: 17( in complemento a 2: 010001) negato bit a bit diventa 101110. Convertendo questo numero da complemento a 2 a base 10 risulta -18. In generale quando usi la tilde con numeri interi l'operazione che fa è ~x=-(x+1).
Raffaele Guido l'operazione ~x=-(x+1) l'ho messa per fare velocemente il conto quando x è base 10 , quindi se x=17 allora ~17 = -(17+1) = -18 come mostra l'output di eclipse. Comunque quello che fa eclipse è usare il complemento a 2. 17 in binario è 10001 in complemento a due ci vuole lo zero davanti per il bit di segno quindi : 010001 . Ora invertiamo bit a bit risulta 101110 ( il primo uno indica un numero negativo in complemento a 2!) ora per convertire da complemento a 2 a numero a base 10 basta fare 2^1+2^2+2^3-2^5 = 2+4+8-32= -18 . Spero di non averti confuso le idee ;-)
***** Se ho capito bene, inizialmente hai negato bit a bit 10001, ottenendo 01110, hai poi aggiunto e negato anche il bit di segno da 0 a 1 (perché negativo) e convertito in base 10......credo, in fine, che il bit in sesta posizione sia da intendere come - 2^5 (perché bit di segno negativo) e così elevando e sommando hai ottenuto -18...se è così, è tutto chiaro ora, grazie :)) Non avevo afferrato poiché il prof nel video ha giustamente sorvolato questa sciocchezza da principianti :)))
Ciao, per chi fosse in difficoltà con la scrittura del carattere tilde (~) su portatile e non si avesse il tastierino numerico, la combinazione di tasti è ALT_GR + ì(carattere i accentata vicino al BACKSPACE)
Sto studiando programmazione da autodidatta con libri trovati free sul web e le sue lezioni stanno risolvendo tutti i miei dubbi , tra l'altro il suo tono di voce la sua "ironia" rendono le lezioni molto interessanti e mai noiose , vedrò tutti i suoi video con il giusto tempo per metabolizzarli ...complimenti per il lavoro svolto e grazie infinite :)
Complimenti prof. Ottima playlist
Salve prof, ho un dubbio sul bitwise: perché se nego bit a bit la variabile eta che è uguale a "17" (10001), ottengo come printline "-18" ? che convertito in bit è uguale a "-10010" e quindi non a "01110" ? Grazie.
Provo a rispondere io: 17( in complemento a 2: 010001) negato bit a bit diventa 101110. Convertendo questo numero da complemento a 2 a base 10 risulta -18.
In generale quando usi la tilde con numeri interi l'operazione che fa è ~x=-(x+1).
***** Non mi ritrovo:
17 = 10001
~x = - (10001+00001) => ~x = - (10010) ---> in base 10 --> ~x = - (18) => ~x = -18
Come ottieni 01110?
Raffaele Guido l'operazione ~x=-(x+1) l'ho messa per fare velocemente il conto quando x è base 10 , quindi se x=17 allora ~17 = -(17+1) = -18 come mostra l'output di eclipse.
Comunque quello che fa eclipse è usare il complemento a 2.
17 in binario è 10001 in complemento a due ci vuole lo zero davanti per il bit di segno quindi : 010001 . Ora invertiamo bit a bit risulta 101110 ( il primo uno indica un numero negativo in complemento a 2!) ora per convertire da complemento a 2 a numero a base 10 basta fare 2^1+2^2+2^3-2^5 = 2+4+8-32= -18 .
Spero di non averti confuso le idee ;-)
***** Se ho capito bene, inizialmente hai negato bit a bit 10001, ottenendo 01110, hai poi aggiunto e negato anche il bit di segno da 0 a 1 (perché negativo) e convertito in base 10......credo, in fine, che il bit in sesta posizione sia da intendere come - 2^5 (perché bit di segno negativo) e così elevando e sommando hai ottenuto -18...se è così, è tutto chiaro ora, grazie :))
Non avevo afferrato poiché il prof nel video ha giustamente sorvolato questa sciocchezza da principianti :)))
Tutto ok , risolto !
Ciao, per chi fosse in difficoltà con la scrittura del carattere tilde (~) su portatile e non si avesse il tastierino numerico, la combinazione di tasti è ALT_GR + ì(carattere i accentata vicino al BACKSPACE)
In realtà il programmino è sbagliato eheh
Un maggiorenne è >= 18; non maggiore stretto ;)
Comunque lezioni perfette, grazie :))
Certo, ha ragione ;) Mi pare di averne accennato un po' dopo.
Sisi nel video dopo! ;)
mi sono accorto (da pricipiante che sono) di aver "fregato" java scrivendo:
int a = 2147483647;
System.out.println(++a);
Fai venire sonno