Мироопазващи операции. Програмиране на C и C ++

Операциите по поддържане на мира са операции, използвани за извършване на манипулации над битови шаблони или двоични числа, които включват работа с отделни битове. Това е бърза и проста операция, която се поддържа директно от процесора и се използва за контрол на стойностите за сравнения и изчисления.

Основата на изчисленията

Двоичната цифрова система използва само две цифри - 0 и 1. Компютрите работят в двоичен формат, което означава, че съхраняват данни и извършват изчисления, използвайки само нули и единици.



Въпреки че едно двоично число може да се използва за представяне на True

(true) или False

(lie) логика, можете да използвате няколко двоични числа цифри. Всъщност всеки брой може да бъде представен в двоичен формат.

Приложение

Операторите на битрейт се използват в следните области:
  • Комуникационните стакове, където отделните битове в заглавието са прикрепени към данните, носят важна информация.
  • Вграден софтуер за контролиране на различни функции в чипа и посочване на състоянието на хардуера чрез контролиране на отделните битове на хардуерните регистри на вградените микроконтролери.
  • Ниско ниво на програмиране за приложения като драйвери на устройства, криптографски софтуер, софтуер за декодиране на видео, разпределители на памет, софтуер за компресиране и графики.
  • Удобнопровеждане на големи групи от числа в задачи за търсене и оптимизация.
  • Основни операции, изпълнявани с битови флагове, които могат да включват инстанция на типа пренос за съхраняване на всяка комбинация от стойности, определени в списъка на преброителите.
  • Операции по поддържане на мира - как работи?

    За разлика от обикновените логически оператори (например, +, -, *), които работят с байтове или групи от байтове, битовите оператори могат да проверяват или инсталират всеки от отделните битове в байтове. Ударните операции никога не причиняват пренаселване в клетките на паметта, тъй като резултатът, получен след операцията, е в рамките на възможните стойности за числов тип.


    Ударни оператори, използвани в семейството на езиците С (C #, C и C ++):
  • OR (|) - резултатът е вярно, ако един от операндите е вярно.
  • AND (& amp;) - резултатът е вярно само ако и двата операнда са верни. Тя може да се използва за конфигуриране на маската за потвърждаване на стойностите на определени битове.
  • XOR (^) - резултатът е вярно само ако един от неговите операнди е вярно. Използва се главно за превключване на определени битове. Той също така помага да се заменят две променливи без да се използва трета.
  • NOT (~) е битово добавяне или инверсия. Осигурява побитово приложение към операнда чрез инвертиране на неговата стойност, така че всички нули се преобразуват в единица и всички единици се преобразуват в нула.
  • (дясно смяна) и (лява смяна) - оператор, който премества битовете в броя на позициите, дадени от вторияоперанд в дясна или лява посока. Операторите на преместване се използват за подравняване на битовете.
  • Пример за работа

    Побитовите оператори са символи, представляващи действия, които трябва да бъдат изпълнени за отделните битове. Битова операция работи с двойни битови модели с една и съща дължина, позиционирайки техните индивидуални битове: логическата операция AND (&) за всеки битова двойка води до 1 (true), ако първият и вторият бит са 1. В противен случай резултатът е нула. Сред другите приложения, И може да се използва за проверка на отделни битове в растерно изображение, за да се види дали те са фалшиви или верни. Нека погледнем отблизо примера: IsOdd = (ValueToTest & amp; 1)! = 0. Логическата операция OR (|) за всяка битова двойка води до 1, ако първият или вторият бит е 1. В противен случай резултатът е нула. Логическата операция XOR (~) за всяка двойка битове води до 1, ако два бита са различни и 0, ако те са еднакви. Логическият оператор НЕ е представен като ^. Лявата смяна (), дясното изместване и десното нулево отместване (>) понякога се наричат ​​битови оператори и се наричат ​​битови офсетни оператори.

    Приоритизиране

    Ред на приоритетите (от най-високата към най-ниската) бинарни оператори в програмирането при С:
  • НЕ;
  • Смяна на лявата стрелка вдясно;
  • И;
  • XOR;
  • ИЛИ.
  • Тези операнди се използват в повечето езици за програмиране. Например, при писане на javascript код, битовите операции са същите като изброените по-горе. Това се дължи на основните математически основи, на коитокод на програмата. В частност, битовите операции в Java от своя страна са напълно идентични javascript.

    Beat и програмиране на C и други езици

    Bit е най-малката единица за измерване, използвана за количествено определяне на компютърните данни. Той съдържа една двоична стойност от 0 или 1.
    Въпреки че един бит може да определи логическата стойност True

    или False

    , той рядко се използва като отделна единица. Следователно, в компютъра бита за съхранение често са групирани в 8-битови клъстери, които се наричат ​​байтове. Тъй като байтът съдържа осем бита, всеки от които има две възможни стойности, двоичните операции в C (език за програмиране) един байт може да има 28 или 256 различни стойности.

    Термините "битове" и "байтове" често се бъркат и дори се използват като взаимозаменяеми, защото звучат еднакво и и двете се намаляват с буквата "В". Въпреки това, когато са правилно написани, битовете се свеждат до малки букви "b", а байтовете се свеждат до главни - "B". Важно е да не се бърка тези два термина, тъй като всяко измерване в байтове съдържа осем пъти броя на битовете. Например, малък текстов файл от 4 KB съдържа 4000 байта или 32000 бита.
    Обикновено файловете, устройствата за съхранение и капацитетът за съхранение се измерват в байтове, а скоростите на данните се измерват в битове. Например, една SSD карта с памет може да има капацитет от 240GB, докато зареждането може да се извършва при 10 Mbps. В допълнение, битовете също се използват за описване на архитектура на процесор, като 32-битов или 64-битов процесор.

    Операции по поддържане на мира в Паскал

    Случайното ниво на операциите в паскала включва работа с отделни битове, които са най-малките данни на компютъра. Въпреки че компютрите могат да манипулират битове, те обикновено съхраняват данни и изпълняват инструкции в битови множествени стойности, които се наричат ​​байтове. Повечето езици за програмиране, включително битовите операции в Delphi, управляват групи от 816 или 32 бита.

    Описание на процеса

    Побитовият оператор е символ, представляващ действие, което работи с данни от битното ниво, а не от байтове или големи единици данни, както се среща най-често.
    Повечето конвенционални оператори работят с един или повече байта, които в повечето системи съдържат осем бита. Тъй като те осигуряват по-голяма точност и изискват по-малко ресурси, операторите на битови потоци могат да направят кода по-бърз и по-ефективен. Примери за побитови операции включват:
  • кодиране;
  • компресия;
  • график;
  • връзка към портове /гнезда;
  • програмиране на вградени системи;
  • Крайни автомати.
  • Ръчен оператор работи с двоично представяне на число, а не с неговата стойност. Операндът се третира като набор от битове, а не като едно число. Операторите на битрейт са подобни в повечето езици, които ги поддържат - C, Java, javascript, Python и Visual Basic.

    Защо е важно да се използва?

    Пиковите операции са абсолютно необходими при програмирането на хардуерни регистри в вградени системи. Всеки процесор има един или повече регистри (обикновено определен адрес на паметта), които контролират дали те са активирани илипрекъсване или изключване. За да позволите на прекъсването да изпълни нормалния процес, трябва да зададете бит за разрешение за този тип прекъсване и най-важното е, че не променяйте никой от останалите битове в регистъра.
    Когато се задейства прекъсване, тя обикновено задава бита в регистъра на състоянието, така че една процедура за обслужване може да определи точната причина за прекъсването. Тестването на отделните битове ви позволява бързо да декодирате източника на прекъсване.
    В много вградени системи общата налична RAM може да бъде 64128 или 256 байта. В тази среда един байт обикновено се използва за съхраняване на множество елементи от данни и булеви флагове, а след това използва бит операции, за да ги настрои и прочете.

    Свързани публикации