Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di RokStar
    Registrato dal
    Dec 2001
    Messaggi
    937

    [Generico] Bit - String operators

    Ho serie difficoltà a capire a cosa servono questi operatori... qualcuno mi sa dare una dritta? Credo che tali operatori siano presenti in diversi linguaggi quindi ho messo [Generico], spero non dispiaccia a chi modera quest'area del forum.

    Gli operatori di cui parlo sono
    <<
    >>
    |
    &
    ^
    ~

    Grazie a chi avrà la pazienza di rispondermi
    che ce l'hai tre e cinco? Tre e cinco?!?

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Allora:

    l'operatore << effettua uno LEFT SHIFT (Shift a sinistra) di un certo numero di bit, aggiungendo a destra degli zeri. Esempio:
    codice:
    [110101] shiftato a sinistra di 1 bit --> [101010]
    L'operatore >> è il fratello di quello precedente: effettua uno shift a destra.

    L'operatore | è un OR bit per bit. Esempio:
    codice:
    [1011001] | [0111010] --> [1111011]: se c'è un 1 sul primo o sul secondo, nello stesso posto ci sarà nel risultato;
    [1011001] | [0000000] --> [1011001]: nessun cambiamento, gli zeri non influenzano il risultato.
    l'operatore & è il fratello di |: effettua un AND bit per bit. Esempio:
    codice:
    [1011001] & [0111010] --> [0011000]: dove ci sono gli zeri, ci saranno degli zeri nel risultato nella stessa posizione. Viene molto usato per creare delle maschere.
    
    [1001011] & [0000001] --> [0000001]: la maschera (il secondo operando) fa in modo che nel risultato ci sia il valore dell'ultimo bit.
    L'operatore ^ io lo conosco solo come elevamento a potenza:
    codice:
    a = 2^4;
    
    ora 'a' vale 16.
    L'ultimo io lo conosco solo come identificatore di distruttore in C++, ma prima di spiegarti cos'è un distruttore, dovresti studiarti un po' di programmazione ad oggetti (se giò l'hai fatto, allora dovresti sapere cos'è un distruttore).


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Utente di HTML.it L'avatar di kuarl
    Registrato dal
    Oct 2001
    Messaggi
    1,093
    ^ xor
    ~ not

    [110010] ^ [101001] => [011011] (or esclusivo, o uno o l'altro.... ritorna 1 solo quando uno dei due operandi è uguale a 1, ma non entrambi)
    ~[110101] => [001010] (inverte il senso dei singoli bit)

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.