Кіріспе

Биттік манипуляция – сөз деңгейінен төменгі деректерді алгоритмдік түрде өңдеу. Биттік манипуляцияны қажет ететін компьютерлік бағдарламалау міндеттеріне төмен деңгейдегі құрылғыларды басқару, қателерді анықтау және түзету алгоритмдері, деректерді сығу, шифрлау алгоритмдері және оңтайландыру кіреді. Көптеген басқа міндеттер үшін заманауи бағдарламалау тілдері бағдарламашыға осы абстракцияларды білдіретін биттердің орнына тікелей абстракциялармен жұмыс істеуге мүмкіндік береді. Биттік манипуляцияны қолданатын бастапқы код биттік операцияларды пайдаланады: AND, OR, XOR, NOT және мүмкін логикалық операторларға ұқсас басқа операциялар; сондай-ақ біттерді жылдыру және бірліктер мен нөлдерді санау, ең жоғары және ең төменгі бір немесе нөлді табу, биттерді қосу, алып тастау және тексеру, өрістерді бөліп алу және енгізу, маскалау және нөлдеу, белгіленген бит позицияларынан немесе өрістерден биттерді жинау және тарату сияқты операциялар бар. Бүтін сандық арифметика операторлары да басқа операторлармен бірге биттік операцияларды орындай алады. Биттік манипуляция кейбір жағдайларда деректер құрылымы бойынша циклдік өңдеу қажеттілігін жоюға немесе азайтуға болады және биттік манипуляциялар параллель өңделетіндіктен, өнімділікті бірнеше есе арттыруға мүмкіндік береді.

Терминология

Бит-твидлинг, бит-фидлинг, бит-башинг және бит-гимнастика көбінесе бит-манипуляциямен мағынасы бірдей қолданылады, бірақ кейде бит-манипуляцияның тапқыр немесе көзге көрінбейтін әдістеріне немесе қолданылуына, сондай-ақ төмен деңгейдегі құрылғыны басқару деректерін өңдеудің күрделі немесе қиын тапсырмаларына сілтеме жасайды. "Биттік бұрмалау" термині алғашқы компьютерлік аппараттық құралдар дәуірінен бастау алады, онда компьютер операторлары компьютерлік басқару элементтерін бұрап немесе өзгертіп түзетулер енгізетін. Компьютерлік бағдарламалау тілдері дамыған сайын, бағдарламашылар бұл терминді бит деңгейіндегі есептеулерді қажет ететін деректерді өңдеуді білдіру үшін қабылдады.

Бит бойынша жұмыс

Біттік операция бір немесе бірнеше биттік үлгілерде немесе екілік сандарда жеке биттері деңгейінде жұмыс істейді. Ол орталық процессор (CPU) тікелей қолдайтын жылдам, негізгі операция болып табылады және салыстырулар мен есептеулер үшін мәндерді өңдеуге қолданылады. Көптеген процессорларда, көпшілік біттік операциялар бір циклді болып келеді, бұл бөлу, көбейту және тармақталу операцияларынан әлдеқайда жылдам. Қазіргі заманғы процессорлар ұзақ нұсқаулар құбырлары мен басқа архитектуралық шешімдерінің арқасында арифметикалық және логикалық операцияларды біттік операциялармен салыстырылатын жылдамдықпен орындай алады, бірақ біттік операциялар ресурстарды аз пайдалануының есесінен көбінесе аз қуатты тұтынады.

Маскалау

Маска – биттік операциялар үшін, әсіресе биттік өрісте қолданылатын деректер. Масканы пайдалану арқылы байт, ниббл, сөз (т.б.) ішіндегі бірнеше биттерді бір биттік операцияда қосуға, өшіруге немесе күйін өзгертуге (немесе керісінше) болады. Егер маскалау операцияларға шартты түрде қолданылса, онда бұл предикация деп аталады.