Jak ugryzić Flip in c

Jak ugryzić Flip in c
Odrzucanie nieco oznacza przełączanie lub cofanie istniejącego bitu. Technika analitycznego przemieszczania bitów lub innych elementów danych mniejszych niż nawet bajt jest znany jako manipulacja bitami. Język programowania C jest biegły w obsłudze bitów.

Operator Bitwise działa z bitami i stopniowo przeprowadza operacje. Operatorzy zmiany biegów wykonują wymagane przejście z lewego operatora do prawego operatora. Odpowiedni operator musi być pozytywny. Bity, które pozostały puste, są zastępowane zero.

Osiągamy cyfrę binarną i przesuwamy jej wartość w kierunku przeciwnika, ilekroć trochę się odwracamy. Spójrzmy, jak zamienić bity w C:

Korzystanie z operatora bitowego do odwrócenia każdej liczby całkowitej:

Przełączanie lub odwrócenie istniejącego stanu jest uważane za odrzucanie. Wykonalibyśmy pętlę rozpoczynającą 0 do zakresu liczby całkowitej i zamienilibyśmy każdy bit jeden na raz, aby odwrócić każdy element wartości binarnych.

Z drugiej strony język programowania C oferuje operator uzupełniający bitwise ~, którego można użyć do tego zadania. Uzupełnienie Bitwise analizuje element bit argumentu. Podczas gdy jeśli odpowiednia wartość operandu wynosi 0, przekształca się w 1; albo przypisuje się do 0. Oto program C, który zawiera i odwraca każdy element liczby binarnej za pomocą operatora bitowskiego ~.

#włączać
int main ()

Int n, Rurednum;
printf („Wprowadź numer:”);
Scanf („%d”, & n);
furpednum = ~ n;
printf („Rzeczywista liczba = %d (w dziesiętnych) \ n”, n);
printf („Wartość po odwróceniu bitów = %d (w dziesiętnych)”, frednum);
powrót 0;

W tym przykładzie przede wszystkim uwzględniamy bibliotekę . Następnie wywołujemy funkcję Main (). Tutaj inicjujemy dwie zmienne. Jedna zmienna, „n”, ma typ danych liczb całkowitych, a druga zmienna, „furppednum” przechowuje wartość, którą chcemy odwrócić.

Oprócz tego wykorzystujemy funkcję printf (), aby wyświetlić instrukcję „Wprowadź numer”. Więc użytkownik wprowadza dowolną wartość własnego wyboru. Metoda scanf () jest wywoływana. Ta metoda służy do określania skonfigurowanych danych. Zastosujemy polecenie „RURPPLEDNUM”, aby wartość wprowadzona przez użytkownika była odwracana. Odwracamy bity, używając znaku uzupełniającego bitowego ~.

W następnym kroku metoda printf () jest stosowana najpierw do wydrukowania rzeczywistej liczby, a następnie drukuje wartość po odwróceniu bitów wprowadzonej liczby. Kończymy program według polecenia zwrotu 0.

Użyj do pętli do odwrócenia bitów:

Iternujemy przez każdy z kawałków liczby. Bierzemy niepodpisaną liczbę całkowitą, odwracamy każdy z jego elementów i otrzymujemy liczbę całkowitą, która odwróciła bity w tym scenariuszu.

#włączać
#włączać
niepodpisane int revbits (niepodpisane int n)

unsigned int number_of_bits = sizeof (n) * 8;
unsigned int rev_num = 0, j, temp;
dla (j = 0; j < NUMBER_OF_BITS; j++)

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

return rev_num;

int main ()

niepodpisany int a = 5;
printf („%u”, revbits (a));
getchar ();

Tutaj rozpoczniemy program, integrując pliki nagłówka i . Tutaj przekazujemy zmienną „Unsigned N ', która ma typ danych liczb całkowitych. Ogłaszamy nową zmienną, która przechowuje liczbę bitów. Tutaj pomnożamy rozmiar liczby całkowitej przez 8. Następnie zainicjujemy zmienną „rev_num”, która przechowuje odwrócony numer.

Zainicjujemy również zmienną dla zmiennych „dla pętli” i „temp”, które tymczasowo utrzymują odwróconą wartość zdefiniowanej liczby całkowitej. Oprócz tego wykorzystujemy pętlę. Ogłaszamy zmienną „j” w pętli i stosujemy warunek na zmienną, że jej wartość musi być mniejsza niż kilka bitów. Ostatnia część pętli For pokazuje przyrost wartości zmiennej „j”. Następnie używamy warunku „jeśli” na zmiennej „Temp”. Pokazuje to, że jeśli „rev_n” nie jest równe liczbie bitów, wówczas instrukcja zwrotu zwraca wartość „rev_n”,

Ponadto stosuje się funkcję main () do testowania wyżej wymienionej metody. Teraz inicjujemy zmienną „Unsigned A” posiadającą typ danych liczb całkowitych. Metoda printf () wyświetla teraz wartość liczby całkowitej po odwróceniu bitów. Ostatecznie stosujemy funkcję getchar (). Tutaj metoda getchar () przyjmuje tylko jedną postać jako argument.

Użyj podczas pętli, aby odwrócić bity:

Tutaj musimy nadal dodawać kawałki liczby całkowitej do liczb odwrotnych, aż liczba całkowita będzie równa zero. Zamień resztki bitów odwrotnej liczby, gdy zdefiniowana liczba osiągnie zero.

#włączać
#włączać
niepodpisane int revbits (niepodpisane int n)

unsigned int count = sizeof (n) * 8 - 2;
Unsigned int rev_n = n;
n >> = 2;
While (n)

rev_n = 2;
liczyć--;

Rev_n <<= count;
return rev_n;

int main ()

niepodpisany int a = 7;
printf („%u”, revbits (a));
getchar ();

Na początku programu włączamy pliki nagłówka i . Następnie definiujemy funkcję, która odwraca bity. Zmienna „Unsigned N” ma typ danych liczb całkowitych; Dlatego zapewniamy to tutaj. Tworzymy nową zmienną, aby zachować liczbę bitów. Rozmiar liczby całkowitej jest mnożony przez osiem w tym przypadku. Następnie nabywamy zmienną o nazwie „Rev_num”, aby pomieścić odwrócony numer.

Dodatkowo zbudowaliśmy zmienną do pętli White i zastosowaliśmy warunek na tej zmiennej. Oprócz tego wykorzystujemy pętlę. W pętli While stosujemy warunek, że jeśli „rev_n” jest mniejsze lub równe 2 lub jeśli „rev_n” nie jest równe wartości „n”, zmniejszamy liczbę. W ten sposób otrzymujemy wartość „rev_n”.

Teraz stosujemy funkcję main () i tutaj zainicjujemy zmienną „Unsigned A”, ustawiając wartość tej zmiennej. Typ danych zmiennej to liczba całkowita. Po odwróceniu bitów metoda printf () zwraca wynik. Ponadto użyliśmy funkcji getchar ().

Wniosek:

W tym artykule zbadaliśmy metody odwracania bitów w języku C. W pierwszej sytuacji bierzemy każdą liczbę całkowitą od użytkownika, a następnie używamy operatora bitowego ~ do odwrócenia wszystkich bitów określonej liczby. Następnie obserwujemy, jak odwrócić bity, używając i podczas gdy pętla.