Пабітавае аперацыі. Праграмаванне на C і C++

Дата:

2018-10-25 23:40:18

Прагляды:

413

Рэйтынг:

1Любіць 0Непрыязнасць

Доля:

Table of contents:

Пабітавае аперацыі — гэта аперацыі, якія выкарыстоўваюцца для выканання маніпуляцый над бітавымі шаблонамі або двайковымі лікамі, якія ўключаюць у сябе працу з асобнымі бітамі. Гэта хуткае, простае дзеянне, непасрэдна падтрымоўванае працэсарам, выкарыстоўваецца для кіравання значэннямі для параўнанняў і вылічэнняў.

Аснова вылічэнняў

Двайковая лічбавая сістэма выкарыстоўвае толькі дзве лічбы — 0 і 1. Кампутары працуюць у двайковым фармаце, што азначае, што яны захоўваюць дадзеныя і выконваюць вылічэнні, выкарыстоўваючы толькі нулі і адзінкі.пабітавае аперацыі

Хоць адна бінарная лічба можа выкарыстоўвацца для прадстаўлення True (1) (ісціна) або False (0) (хлусня) у логіцы, для захоўвання вялікіх лікаў і выканання складаных функцый можна выкарыстоўваць некалькі двайковых лічбаў. Фактычна любы лік можа быць прадстаўлена ў двайковым фармаце.

Ужыванне

Пабітавае аператары выкарыстоўваюцца ў наступных галінах:

  • Камунікацыйныя стэкі, дзе асобныя біты ў загалоўку, прымацаваныя да дадзеных, якія нясуць важную інфармацыю.

  • Убудаванае праграмнае забеспячэнне для кіравання рознымі функцыямі ў чыпе і індыкацыі стану апаратнага забеспячэння шляхам кіравання асобнымі бітамі апаратных рэгістраў ўбудаваных мікракантролераў.

  • Нізкаўзроўневае праграмаванне для такіх прыкладанняў, як драйверы прылад, электроннага праграмнае забеспячэнне, ПА для дэкадавання відэа, размеркавальнікі памяці, праграмнае забеспячэнне для сціску і графікі.

  • Зручнае вядзенне вялікіх набораў цэлых лікаў у задачах пошуку і аптымізацыі.

  • Пабітавае аперацыі, якія выконваюцца з бітавымі сцягамі, якія могуць ўключаць асобнік тыпу пералічэння для захоўвання любой камбінацыі значэнняў, вызначаных у спісе перечислителей.

праграмаванне на c

Пабітавае аперацыі — як гэта працуе?

У адрозненне ад звычайных лагічных аператараў (напрыклад, +, -, *), якія працуюць з байтами або групамі байтаў, пабітавае аператары могуць правяраць або ўсталёўваць кожны з асобных бітаў у байце. Пабітавае аперацыі ніколі не выклікаюць перапаўнення ў вочках памяці, таму што вынік, атрыманы пасля выканання аперацыі, знаходзіцца ў межах дыяпазону магчымых значэнняў для лікавага тыпу.

Больш:

Lenovo v580c: падрабязны агляд

Lenovo v580c: падрабязны агляд

Сёння мы вырашылі напісаць пра ноўтбуку Lenovo v580c. Агляд будзе падрабязным, так як гэты партатыўны ПК серыі IdeaPad мае высокую папулярнасць, але не многія ведаюць, чым жа прыцягвае гэта прылада пакупнікоў. Мадэль з'яўляецца хуткай і змяшчае ў саб...

Брандмаўэр - што гэта? Стандартны абаронца ПК

Брандмаўэр - што гэта? Стандартны абаронца ПК

Брандмаўэр – што гэта такое? Карысная функцыя ў аперацыйнай сістэме або малаэфектыўныя сродак абароны? Перш чым адказаць на гэтае пытанне, нам трэба высветліць, што робіць кампутар і як правільна яго наладзіць.Агульныя звесткіДля паспяховай пра...

"Аблівіян": праходжанне гульні. Кіраўніцтва і парады па праходжанні гульні "Аблівіян"

The Elder Scrolls IV: Oblivion — ролевая гульня ад кампаніі Bethesda Games Studios. Адразу ж пасля рэлізу у 2006 годзе яна стала вельмі папулярнай. Сюжэт заснаваны на супрацьстаянні галоўнага героя і культу Прынца Разбурэння, які плануе адкрыць...

Пабітавае аператары, якія выкарыстоўваюцца ў сямействе дынамікі C (C #, C і C ++):

  • OR (|) — вынік з'яўляецца ісцінай, калі любы з аперанд ісьціна.

  • AND (&) — вынік верны, толькі калі абодва аперанда верныя. Яго можна выкарыстоўваць для налады маскі праверкі значэнняў пэўных бітаў.

  • XOR (^) — вынік з'яўляецца ісцінай, толькі калі адзін з яго аперанд ісьціна. Ён выкарыстоўваецца, у асноўным, для пераключэння пэўных біт. Ён таксама дапамагае замяняць дзве зменныя без выкарыстання трэцяй.

  • NOT (~) — пабітавае дадатак або інверсія. Дае поразрядное дадатак да операнду шляхам инвертирования яго значэння, так што ўсе нулі ператвараюцца ў адзінкі, а ўсе адзінкі ператвараюцца ў нулі.

  • >> (Right-Shift) і << (Left-Shift) — аператар, які перамяшчае біты ў лік пазіцый, зададзеных другім аперандам ў правым або левым кірунку. Аператары зруху выкарыстоўваюцца для выраўноўвання бітаў.

пабітавае аперацыі ў сі

Прыклад працы

Пабітавае аператары — гэта сімвалы, якія прадстаўляюць дзеянні, якія павінны выконвацца для асобных бітаў. Пабітавае аперацыя працуе на двухбитовых шаблонах аднолькавай даўжыні, пазіцыянуючы іх асобныя біты:

Лагічная аперацыя AND (&) кожнай бітавай пары прыводзіць да 1 (ісціны), калі першы і другі біты роўныя 1. У адваротным выпадку вынік роўны нулю. Сярод іншых ужыванняў AND можа выкарыстоўвацца для праверкі асобных бітаў у бітавай радку, каб убачыць, ці з'яўляюцца яны ілжывым або сапраўдным значэннем.

Разгледзім больш падрабязна на прыкладзе:

IsOdd = (ValueToTest & 1)! = 0.

Лагічная аперацыя АБО (|) кожнай бітавай пары прыводзіць да 1, калі першы ці другі біт роўны 1. У адваротным выпадку вынік роўны нулю. Лагічная аперацыя XOR (~) кожнай бітавай пары прыводзіць да 1, калі два біта розныя, і 0, калі яны аднолькавыя.

Лагічны аператар NOT прадстаўлены як ^. Левы зрух (<<), правы зрух (>>) і правы зрух нулявы залівання (>>>>) часам згадваюцца як пабітавае аператары і называюцца аператарамі зруху біт.пабітавае аперацыі ў java

Прыярэтызацыя

Парадак прыярытэтнасці (ад найвышэйшага да самага нізкага) у пабітава аператарах пры праграмаванні на C:

  • NOT;

  • Right-Shift і Left-Shift);

  • AND;

  • XOR;

  • OR.

Дадзеныя аперанд выкарыстоўваюцца ў большасці моў праграмавання. Напрыклад, пры напісанні кода ў Javascript пабітавае аперацыі будзе тымі ж, што і вышэй. Гэта выклікана базавымі матэматычнымі асновамі, на якіх грунтуецца праграмны код. У прыватнасці, пабітавае аперацыі ў Java, у сваю чаргу, цалкам тоесныя Javascript.

Біт і праграмаванне на C і іншых мовах

Біт з'яўляецца найменшай адзінкай вымярэння, якая выкарыстоўваецца для колькаснай ацэнкі кампутарных дадзеных. Ён змяшчае адно двайковае значэнне — 0 або 1.
Хоць адзін біт можа вызначаць лагічнае значэнне True (1) ці False (0), як асобная адзінка ён выкарыстоўваецца рэдка. Таму ў кампутарным сховішча біты часта групуюцца ў 8-бітныя кластары, званыябайтами. Паколькі байт змяшчае восем біт, кожны з якіх мае два магчымых значэння, у пабітава аперацыях у Сі (мова праграмавання) адзін байт можа мець 28 або 256 розных значэнняў.пабітавае аперацыі javascript
Тэрміны «біты» і «байты» часта блытаюцца і нават выкарыстоўваюцца ўзаемазамяняема, паколькі гучаць аднолькава і абодва скарачаюцца літарай «Б». Аднак пры правільным напісанні біты скарачаюцца ў ніжнім рэгістры «b», а байты скарачаюцца ў верхнім рэгістры — «B». Важна не блытаць гэтыя два тэрміна, так як любое вымярэнне ў байтах змяшчае ў восем разоў больш біт. Напрыклад, невялікі тэкставы файл памерам 4 КБ змяшчае 4000 байт або 32 000 біт.

Як правіла, файлы, прылады захоўвання і ёмістасць сховішча вымяраюцца ў байтах, а хуткасці перадачы дадзеных вымяраюцца ў бітах. Напрыклад, карта памяці SSD можа мець ёмістасць 240 ГБ, тады як загрузка можа пераносіцца з хуткасцю 10 Мбіт/с. Акрамя таго, біты таксама выкарыстоўваюцца для апісання архітэктуры працэсара, такі як 32-разрадных або 64-разрадны працэсар.

Пабітавае аперацыі ў паскалю

Пабітавае ўзровень аперацый у паскалю ўключае ў сябе працу з асобнымі бітамі, якія з'яўляюцца найменшымі адзінкамі дадзеных на кампутары. Хоць кампутары здольныя маніпуляваць бітамі, яны звычайна захоўваюць дадзеныя і выконваюць інструкцыі ў бітавых кратных значэннях, званых байтами. Большасць моў праграмавання, у тым ліку пабітавае аперацыі ў Delphi, кіруюць групамі з 8, 16 або 32 біт.

Апісанне працэсу

Поразрядный аператар — гэта сімвал, які ўяўляе дзеянне, якое працуе з дадзенымі на ўзроўні біт, а не з байтами або вялікімі адзінкамі дадзеных, як гэта часцей сустракаецца.пабітавае аперацыі ў паскалю

Большасць звычайных аператараў працуюць з адным ці некалькімі байтами, якія ў большасці сістэм ўтрымліваюць восем біт. Паколькі яны забяспечваюць вялікую дакладнасць і патрабуюць меншага колькасці рэсурсаў, пабітавае аператары могуць зрабіць код больш хуткім і эфектыўным. Прыклады выкарыстання пабітава аперацый ўключаюць у сябе:

  • шыфраванне;

  • сціск;

  • графіку;

  • сувязь па партоў/сокетам;

  • праграмаванне ўбудаваных сістэм;

  • машыны з канчатковым станам.

Пабітавае аператар працуе з двайковым прадстаўленнем колькасці, а не з яго значэннем. Аперанд разглядаецца як набор біт, а не як адзін нумар. Пабітавае аператары аналагічныя ў большасці падтрымліваюць іх дынамікі — C, Java, JavaScript, Python і Visual Basic.

Чаму гэта важна выкарыстоўваць?

Пабітавае аперацыі абсалютна неабходныя пры праграмаванні апаратных рэгістраў ва ўбудаваных сістэмах. Кожны працэсар мае адзін або некалькі рэгістраў (звычайна пэўны адрас памяці), якія кантралююць, уключана ці перапыненне або адключана. Каб дазволіць перапынення запускаць звычайны працэс, неабходна ўсталяваць біт дазволу для гэтага тыпу перапынення, а галоўнае, не змяняць ні адзін з астатніх бітаў у рэгістры.delphi пабітавае аперацыіКалі перапыненне спрацоўвае, яно звычайна ўсталёўвае біт у рэгістры стану, так што адна службовая працэдура можа вызначаць дакладную прычыну перапынення. Тэставанне асобных бітаў дазваляе хутка дэкадаваць крыніца перапыненняў.
У многіх ўбудаваных сістэмах агульная даступная аператыўная памяць можа быць 64, 128 або 256 байт. У гэтым асяроддзі звычайна выкарыстоўваецца адзін байт для захоўвання некалькіх элементаў дадзеных і булева сцягоў, а затым выкарыстоўваюцца бітаў аперацыі для ўстаноўкі і чытання іх.


Article in other languages:

AR: https://www.tostpost.com/ar/computers/8584-c-c.html

DE: https://www.tostpost.com/de/computer/15386-bitweise-operationen-programmieren-in-c-und-c.html

En: https://www.tostpost.com/computers/6896-a-bitwise-operation-programming-in-c-and-c.html

ES: https://www.tostpost.com/es/los-ordenadores/15397-pobitovye-de-la-operaci-n-programaci-n-en-c-y-c.html

HI: https://www.tostpost.com/hi/computers/8592-a-bitwise-operation-programming-in-c-and-c.html

JA: https://www.tostpost.com/ja/computers/8589-c-c.html

KK: https://www.tostpost.com/kk/komp-yuterler/15383-pobitovye-operacii-ba-darlamalau-t-l-c-zh-ne-c.html

PL: https://www.tostpost.com/pl/komputery/15360-zachowanie-operacji-programowanie-w-j-zyku-c-i-c.html

PT: https://www.tostpost.com/pt/computadores/15355-opera-es-bit-a-bit-programa-o-em-c-e-c.html

TR: https://www.tostpost.com/tr/bilgisayarlar/15387-bitsel-i-lemler-programlama-c-ve-c.html

UK: https://www.tostpost.com/uk/komp-yuteri/15372-pob-tov-operac-programuvannya-na-c-ta-c.html

ZH: https://www.tostpost.com/zh/computers/9333-c-c.html






Alin Trodden - аўтар артыкула, рэдактар
"Прывітанне, Я Алін Тродден. Я пішу тэксты, чытаю кнігі і шукаю ўражанні. І я нядрэнна ўмею распавядаць вам пра гэта. Я заўсёды рады ўдзельнічаць у цікавых праектах."

Заўвага (0)

Гэтая артыкул не мае каментароў, будзьце першым!

Дадаць каментар

Навіны

Як і навошта вырабляюць выдаленне драйвераў

Як і навошта вырабляюць выдаленне драйвераў

Даволі часта карыстачу неабходна вырабляць не толькі ўстаноўку, але і выдаленне драйвераў. Мэта абедзвюх працэдур, нягледзячы на іх супрацьлегласць, заключаецца ў тым, каб забяспечыць лепшую прадукцыйнасць кампутара. Існуюць дзве ...

Як стварыць FTP-сервер самастойна?

Як стварыць FTP-сервер самастойна?

Многіх з вас цікавіць пытанне аб тым, як стварыць FTP-сервер. Я хачу ўнесці некаторую яснасць. Для таго каб усе разумелі, аб чым ідзе гаворка, давайце высвятлім, што ж гэта наогул такое? Каб не паглыбляцца ў нетры, проста скажу, ш...

Чым планшэт адрозніваецца ад ноўтбука? Асноўныя моманты

Чым планшэт адрозніваецца ад ноўтбука? Асноўныя моманты

З'яўленне кампутараў у канцы мінулага стагоддзя значна паўплывала на тэмпы развіцця любой індустрыі. Гэта прамысловасць, гандаль, транспарт, сфера забаў і многае іншае. Унікальнасць кампутарызацыі ў тым, што яна пракралася не толь...

GTA San Andreas: коды, чыты. Коды на GTA San Andreas

GTA San Andreas: коды, чыты. Коды на GTA San Andreas

У кампутарных гульнях вельмі часта прысутнічаюць чыць-коды, якія пакідаюць распрацоўшчыкі. Першапачаткова яны прызначаюцца для тэставання, але большую частку з іх прыбіраюць, калі гэты працэс завяршаецца. Аднак частка ўсё-ткі заст...

Star Conflict: агляд гульні

Star Conflict: агляд гульні

Ўсім фанатам і аматарам правесці свой вольны час у гульнях, несумненна, хочацца знайсці годны праект, які не проста завабіць сваім сюжэтам, але і зацягне праходжаннем (не будзе аднастайным і сумным). Сярод такога вялікага і гранды...

"Кліч Боэтии", "Скайрим". Праходжанне квэста

Квэсты Лордаў Даэдра - адна з самых цікавых частак гульні, Skyrim. Усяго іх шаснаццаць штук, але цяпер гаворка пойдзе толькі аб адным з іх – аб квэсце «Кліч Боэтии» ("Скайрим"). Праходжанне самага квэста, а такса...