Побитови оператори на език C

Bitwise Operators C Language



Побитовите оператори, често известни като кодиране на ниво битове, са отхвърлени, за да интерпретират данни само на ниво бит. Побитово изпълнява операции върху един или дори допълнителни битови модели и двоични числа на битово ниво. Те са били използвани за ускоряване на прогресирането на оценките на числените изчисления. Състои се от две числа, едното от които е 0, а другото е 1. Ето няколко побитови оператора, които ще обсъдим в нашата статия.

Влезте от вашата Linux система и опитайте клавишната комбинация Ctrl+Alt+T, за да отворите конзолния терминал. Ще имаме няколко примера, които да разработим върху операциите на побитовите оператори в езика C. Нека разгледаме поотделно всеки побитов оператор.







Побитово И:

Побитовият оператор е използван за репликация на бит към резултата, ако този бит присъства и в двата взаимни операнда. C или C ++ изисква 2 операнда, които изпълняват И за всеки бит от тези две цели числа. Побитово И резултатите 1, когато и двата бита имат стойност 1. Така че, за да разберете работата, създайте и отворете файл тип C с помощта на Nano редактор. За това трябва да консумираме нано инструкция в черупката, както следва:



$наноtest.c



Кодът за оператора Bitwise AND е показан на изображението по -долу. Всичко, което трябва да направите, е просто да напишете този код във файла GNU nano editor test.c такъв, какъвто е. Този код има заглавната библиотека stdio.h, без която не можем да направим кодирането в C програмиране. След това създадохме основен метод с неговия тип връщане като цяло число. На езика C изпълнението на кода се извършва чрез основния метод. Така че декларирахме две променливи от цяло число, x и y, съответно със стойностите 35 и 13. След това е посочена друга целочислена променлива с нула като стойност. Ще използваме първите две целочислени променливи и ще приложим побитовия оператор И между тях. Тази работа е извършена на следващия ред, където операторът AND е бил използван като &, а получената стойност ще се съхранява в нулевата променлива z. След това използвахме инструкцията за печат, за да покажем резултантната стойност на екрана на терминала и основният метод се затваря. Запишете файла си с помощта на прекия път на GNU Ctrl+S и след това излезте от редактора на нано чрез Ctrl+X от пишещата машина.





И така, моментът е да компилирате горния код, след като запазите файла. Използвайте инструкцията gcc във вашата конзолна обвивка, докато използвате името на файл като test.c или каквото и да сте кръстили файла и натиснете клавиша Enter. Можете да видите, че не показва грешка; това означава, че кодът е ръчно правилен.



$gcctest.c

След като сте съставили кода, е време да го изпълните сега. За тази цел изпълнете заявката по-долу в черупката. Резултатът показва 1 като резултат. Това означава, че и двете ни целочислени променливи имат 1 в един от своите битове. Ето защо връща 1.

$./a.out

Побитово ИЛИ:

Сега е обърнато операторът за побитово ИЛИ да бъде разработен. Побитовият оператор връща 1 в резултат, когато един от неговия бит е 1. Ако и двата бита на две цели числа са 0, тогава той дава 0. След получаване на всички битове ще бъде генериран набор от битове. Трябва да видим какъв брой са образували тези битове. Така че първо отворете същия документ test.c. Въведете и след това запазете показания по-долу код във файла GNU, като използвате клавишите Ctrl+S. Кодът е почти същият като в горния пример за побитов И оператор. Този път току -що сме променили стойността на цяло число x на 47 и сме използвали оператора OR, напр. | между двете променливи. Затворете файла, за да компилирате кода.

След успешно изпълнение на документа test.c, той показва 47 изходния бит.

$./a.out

Побитов XOR:

Побитовият оператор връща 1, когато и двата броя бита са различни. Така че, когато битовете са еднакви, това ще даде 0. Знакът оператор ^ ще представлява побитовия оператор. Така че отново отворете документа и напишете същия стар код в GNU файловия редактор. Този път използвахме операторите ^ в рамките на две целочислени променливи и резултатът ще се съхранява в променливата z, докато се отпечатва в терминала.

Компилиране и изпълнение на файла test.c връща 34 в резултат. Това означава, че новото цяло число 34 се генерира, след като операторът XOR е приложен към две целочислени променливи.

$./a.out

Побитово допълнение:

Този оператор ще бъде приложен само към една променлива и ще върне стойността на номера на бита. Например, той ще промени 0 бита на 1 и 1 на 0 бита. Напишете същия код в същия файл, но с малка промяна в ред 6. Присвоихме обратното на x на z.

Компилирайте файла и го стартирайте. В C резултатът от побитовото допълнение е увеличен с 1 с отрицателен знак.

Оператор на смяна наляво:

Това ще измести до известна степен мястото на битовете. Същият код може да бъде показан на изображението, приложено по-долу. В този пример ще изместим 2 бита наляво.

Изходът показва 188 като новосъздадена стойност.

$./a.out

Оператор за смяна надясно:

Работи по същия начин като лявата смяна, но в обратна посока, както е показано в кода по -долу.

Този път имаме 11 като изход при преместване на 2 бита в дясната страна.

$./a.out

Заключение:

В тази статия ние разгледахме всички основни 6 битови оператора в нашия код на език C. Надявам се да получите това, което искате от нашето ръководство.