Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di XWolverineX
    Registrato dal
    Aug 2005
    residenza
    Prague
    Messaggi
    2,565

    C++ Operatori a livello bit

    Ho fatto varie ricerche e letto anche la sezione del mio libro
    Ma non riesco a capirne utilizzo e modalità...
    ad esempio
    codice:
     3 << 2
    Cosa significa?
    A cosa servono?
    "Se proprio devono piratare, almeno piratino il nostro." (Bill Gates)

    "Non è possibile che 2 istituzioni statali mi mettano esami nello stesso giorno." (XWolverineX)

    http://xvincentx.netsons.org/programBlog

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Se tu avessi nozioni di assembler, sapresti che quell'operatore corrisponde ad una operazione di shift (a sinistra in quel caso) e che equivale ad una operazione di moltiplicazione per 2.

    Lo shift e' usato nella gestione delle maschere di bit (usatissime nel software di rete, ad esempio) ...

    Ecco un esempio di traformazione in binario ..

    codice:
    	int v = 0x12345678;
    	int bit;
    
    	for(bit=31; bit>=0; bit--)
    		printf("%d ", v & (1<<bit) ? 1 : 0);
    
    	printf("\n");

  3. #3
    Utente di HTML.it L'avatar di XWolverineX
    Registrato dal
    Aug 2005
    residenza
    Prague
    Messaggi
    2,565
    anche sul mio libro vi era un esempio simile, ma non capisco la loro applicazione...
    e cosa significa << e >>
    "Se proprio devono piratare, almeno piratino il nostro." (Bill Gates)

    "Non è possibile che 2 istituzioni statali mi mettano esami nello stesso giorno." (XWolverineX)

    http://xvincentx.netsons.org/programBlog

  4. #4
    Moderatore di Sicurezza informatica e virus L'avatar di Habanero
    Registrato dal
    Jun 2001
    Messaggi
    9,782
    un esempio:
    http://forum.html.it/forum/showthrea...readid=1061076

    lo shift è in assoluto il modo più efficiente per eseguire moltiplicazioni o divisioni per potenxe di 2, ma è solo un esempio banale....

    immagina di avere un campo dati in cui il terzo bit ha un particolare significato... se vuoi settarlo o resettarlo indipendentemente dagli altri non puoi che usare gli operatori bit a bit (& e |)... idem se vuoi testare se un singolo bit è on o off.

    etc...
    Leggi il REGOLAMENTO!

    E' molto complicato, un mucchio di input e output, una quantità di informazioni, un mucchio di elementi da considerare, ho una quantità di elementi da tener presente...
    Drugo

  5. #5
    se ti interessa capire a cosa possono servire devi ragionare in binario ...
    Experience is what you get when you don’t get what you want

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da XWolverineX
    anche sul mio libro vi era un esempio simile, ma non capisco la loro applicazione...
    e cosa significa << e >>
    Se hai un valore in binario di questo tipo

    01101001

    e fai un'operazione del tipo

    >> 1

    ottieni

    00110100

    come risultato (come vedrai tutti i bit sono "scivolati" a destra di una posizione).

    Analogamente per << per "scivolare" a sinistra ...

  7. #7
    Utente di HTML.it L'avatar di XWolverineX
    Registrato dal
    Aug 2005
    residenza
    Prague
    Messaggi
    2,565
    Ah ecco.
    ho visto anche gli altri operatori (utilissimo il ~)
    vorrei vedere qualche applicazione pratica.
    Avete un esempio?
    "Se proprio devono piratare, almeno piratino il nostro." (Bill Gates)

    "Non è possibile che 2 istituzioni statali mi mettano esami nello stesso giorno." (XWolverineX)

    http://xvincentx.netsons.org/programBlog

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.