Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di ChReAn
    Registrato dal
    Aug 2002
    Messaggi
    486

    Operazioni bit a bit in C (strong)

    Dovrei eseguire un'operazione di xor fra un numero e i primi 16 bit di un altro numero.
    Quindi soltanto i 16 bit + significativi del secondo numero dovranno essere messi in xor col primo numero. Gli altri rimarranno invariati.
    Come estrarre in C/C++ i 16 bit + significativi? Shifto il numero (mettiamo che sia un long) di 3 byte a destra e poi lo riporto a sinistra? :master:
    ChReAn
    -------------------

    Slackware 9.1 powered

  2. #2
    Decimale, binario, ottale???

    Scusa la precisazione collegiale, ma in quale sistema e' il tuo numero???


    Se utilizzi il decimale ti consiglio di riportartelo quanto meno in binario e poi fare la conversione.

  3. #3
    Utente di HTML.it L'avatar di ChReAn
    Registrato dal
    Aug 2002
    Messaggi
    486
    Grazie lo stesso, ho combinato.
    Non importa il sistema di rappresentazione, dovevo fare uno xor bit a bit fra due numeri x e y. Era sufficiente shiftare il secondo numero di 16 bit a sx (trattandosi di un unsigned long) riempiendone così i 16 bit meno significativi con degli 0 (il secondo numero infatti non è mai superiore a 65535 e posso shiftarlo tranquillamente di 16 a sx senza perdere bit) epoi eseguire l'operazione.

    ChReAn
    -------------------

    Slackware 9.1 powered

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 © 2024 vBulletin Solutions, Inc. All rights reserved.