Programma che inverta i bit in C

di Anonimizzato13124 il
14 risposte
Buongiorno a tutti , sapete in che modo sia possibile invertire i bit di un numero binario? grazie.

14 Risposte

  • Si puo' fare di meglio: l'operatore ~ (not binario)



    sempre se non si intenda scambiare l'ordine dei bit, cioe' la stessa sequenza di bit come se fosse letta da sinistra a destra, invece che da destra a sinistra:

    101100111000

    convertirlo in

    000111001101
  • No devo semplicemente invertire gli 0 con 1 e gli 1 con gli zero di una sequenza di bit. quindi come posso procedere?
  • X2 = ~x;
  • daniele90 ha scritto:


    no devo semplicemente invertire gli 0 con 1 e gli 1 con gli zero di una sequenza di bit. quindi come posso procedere?
    Come ti è stato detto ... ma non hai provato nessun suggerimento.
  • Siccome ho la mia sequenza di bit su un vettore a, dovrei fare c=(tilde)a;??
    definendo prima il nuovo vettore c?
    Ah un altra cosa, come si fa la tilde??? ho un windows xp.
  • Gli operatori lavorano su valori numerici interi. Il tuo vettore di che tipo è?
  • Int.
  • Sì, ma all'interno di ogni elemento inserisci un bit in formato ASCII ?
  • Inserisco in sequenza i numeri o 1 o 0.
  • Ripeto ... in ASCII? O in binario?
  • Ascii
  • Allora non puoi usare la ~

    Usa la xor (come ti avevo suggerito) per il primo bit (vedi link che ti avevo suggerito per l'uso)
  • Ok grazie.
Devi accedere o registrarti per scrivere nel forum
14 risposte