Come morso il morso in c

Come morso il morso in c
Fare un po 'indica la commutazione o l'inversione del bit esistente. La tecnica di riorganizzazione analiticamente dei bit o altri elementi di dati più piccoli di persino un byte è noto come manipolazione dei bit. Il linguaggio di programmazione C è abile nella gestione dei bit.

L'operatore bitwise funziona con bit e esegue gradualmente le operazioni. Gli operatori del cambio eseguono la transizione richiesta dall'operatore sinistro all'operatore destro. L'operatore appropriato deve essere positivo. I bit che sono stati lasciati vuoti sono sostituiti da zero.

Acquisiamo una cifra binaria e spostiamo il suo valore verso l'avversario ogni volta che invertiamo un po '. Diamo un'occhiata a come scambiare pezzi in c:

Usando l'operatore bitwise per invertire ogni bit di un numero intero:

Invertire o invertire lo stato del bit esistente è considerato lanciare un po '. Eseguiremmo un loop che iniziano 0 nell'entità dell'intero e scambiamo ogni bit uno alla volta per invertire ogni elemento di valori binari.

D'altra parte, il linguaggio di programmazione C offre un operatore di complemento in bit ~ che può essere utilizzato per quell'attività. Il complemento bitwise esamina la componente dell'argomento bit. Mentre, se il valore appropriato dell'operando è 0, si converte in 1; Oppure, assegna a 0. Ecco un programma C che contiene e inverte ogni elemento di un numero binario con l'aiuto di un operatore bitwise ~.

#includere
int main ()

int n, flippednum;
printf ("Immettere un numero:");
scanf ("%d", & n);
FlippedNum = ~ n;
printf ("numero effettivo = %d (in decimale) \ n", n);
printf ("valore dopo aver lanciato i bit = %d (in decimale)", flippednum);
restituzione 0;

In questo esempio, prima di tutto, includiamo la biblioteca . Quindi chiamiamo la funzione principale (). Qui inizializziamo due variabili. Una variabile, 'n', ha un tipo di dati interi e l'altra variabile, 'flippednum' 'memorizza il valore che vogliamo capovolgere.

Oltre a ciò, utilizziamo la funzione printf () per visualizzare l'istruzione "immettere un numero". Quindi l'utente inserisce qualsiasi valore di propria scelta. Il metodo scanf () viene chiamato. Questo metodo viene utilizzato per indicare i dati configurati. Applichiamo il comando "flippednum" in modo che il valore immesso dall'utente venga capovolto. Capovolgiamo i bit usando il segno del complemento bitwise ~.

Nel passaggio successivo, il metodo printf () viene applicato prima per stampare il numero effettivo, quindi stampa il valore dopo aver lanciato i bit del numero immesso. Terminiamo il comando Program by return 0.

Utilizzare per loop per capovolgere i bit:

Iteamiamo attraverso ciascuno dei bit del numero. Prendiamo un numero intero non firmato, capovolgiamo ognuno dei suoi elementi e otteniamo il numero intero dopo aver capovolto i pezzi in questo scenario.

#includere
#includere
non firmato int revbits (non firmato int n)

Insigned Int Number_of_bits = sizeof (n) * 8;
Unsigned int rev_num = 0, j, temp;
per (j = 0; j < NUMBER_OF_BITS; j++)

temp = (n & (1 << j));
if (temp)
rev_num | = (1 << ((NUMBER_OF_BITS - 1) - j));

restituire rev_num;

int main ()

non firmato int a = 5;
printf ("%u", revbits (a));
getChar ();

Qui, inizieremo il programma integrando i file di intestazione e . Qui passiamo la variabile 'non firmata N', che ha un tipo di dati interi. Dichiariamo una nuova variabile che memorizza il numero di bit. Qui moltiplichiamo le dimensioni dell'intero per 8. Quindi inizializziamo una variabile "rev_num" che memorizza il numero capovolto.

Inizializziamo anche una variabile per le variabili "per loop" e "temp" che contiene temporaneamente il valore capovolto dell'intero definito. Oltre a ciò, utilizziamo un ciclo. Dichiariamo una variabile 'J' all'interno del ciclo e applichiamo la condizione sulla variabile che il suo valore deve essere inferiore a più bit. L'ultima parte del ciclo for mostra un incremento del valore della variabile 'J'. Quindi utilizziamo la condizione "if" sulla variabile "temp". Ciò dimostra che se "rev_n" non è uguale al numero di bit, allora l'istruzione di ritorno restituisce il valore di "rev_n",

Inoltre, la funzione principale () viene applicata per testare il metodo sopra menzionato. Ora inizializziamo la variabile "non firmata" con tipo di dati interi. Il metodo printf () ora visualizza il valore dell'intero dopo aver invertito i bit. Alla fine, impieghiamo la funzione Getchar (). Qui il metodo GetChar () prende solo un personaggio come argomento.

Usa durante il ciclo per capovolgere i bit:

Qui dobbiamo continuare ad aggiungere i bit di un numero intero in numeri inversi fino a quando l'intero non è uguale a zero. Scambia i bit rimanenti del numero inverso una volta che il numero definito colpisce zero.

#includere
#includere
non firmato int revbits (non firmato int n)

contanti int unsigned = sizeof (n) * 8 - 2;
Unsigned int rev_n = n;
n >> = 2;
mentre (n)

rev_n = 2;
contare--;

Rev_n <<= count;
restituire rev_n;

int main ()

senza segno int a = 7;
printf ("%u", revbits (a));
getChar ();

All'inizio del programma, incorporiamo i file di intestazione e . Quindi definiamo una funzione che inverte i bit. La variabile 'non firmata N' ha un tipo di dati interi; Quindi, lo forniamo qui. Creiamo una nuova variabile per conservare il conteggio del numero di bit. La dimensione dell'intero è moltiplicata per otto in questo caso. Quindi, acquisiamo una variabile chiamata "Rev_num" per trattenere il numero capovolto.

Abbiamo inoltre costruito una variabile per il ciclo while e applicato la condizione su questa variabile. Oltre a ciò, utilizziamo un po '. All'interno di While Loop, utilizziamo la condizione che se il "rev_n" è inferiore o uguale a 2 o se il "rev_n" non è uguale al valore di "n", diminuiamo il conteggio. È così che otteniamo il valore di "Rev_n".

Ora applichiamo la funzione principale () e qui inizializzeremo la variabile 'Unsigned A' impostando il valore di questa variabile. Il tipo di dati di questa variabile è un numero intero. Dopo aver invertito i bit, il metodo printf () restituisce il risultato. Inoltre, abbiamo usato la funzione Getchar ().

Conclusione:

In questo articolo, abbiamo esaminato i metodi per lanciare i bit nella lingua C. Nella prima situazione, prendiamo qualsiasi numero intero dall'utente, quindi utilizziamo l'operatore bitwise ~ per invertire tutti i bit del numero definito. Quindi osserviamo come capovolgere i bit usando e mentre loop.