Побитовые операции. Бағдарламалау тілі C және C++

Күні:

2018-10-25 10:10:11

Hits:

623

Рейтинг:

1Сүю 0Жеккөру

Үлесі:

Table of contents:

Побитовые операции — бұл операцияларды орындау үшін қолданылатын манипуляция над битовыми шаблондарды немесе екілік сандармен қамтиды жұмысын жекелеген битами. Бұл жылдам, қарапайым әрекет, тікелей сақталатын процессор үшін пайдаланылады басқару мәндерімен салыстыру үшін және есептеулер.

Негізі есептеулерді

Екілік сандық жүйе ғана пайдаланады екі сан — 0 және 1. Компьютерлер жұмыс істейді двоичном форматында, бұл нені білдіреді, олар сақтайды деректер орындайды есептеулер пайдалана отырып, тек қана нөлдер мен бірліктер.побитовые операции

Дегенмен бір бинарлы сан үшін пайдаланылуы мүмкін ұсынылған True (1) (ақиқат) немесе False (0) (жалған) логикалық, сақтауға арналған үлкен сандар және күрделі функцияларын пайдалануға болады бірнеше двоичных сан. Іс жүзінде кез-келген саны болуы мүмкін ұсынылған двоичном форматта.

Қолдану

Побитовые операторлары пайдаланылады мынадай салаларда:

  • Коммуникациялық теңді, онда жекелеген соқалар тақырыбындағы, бекітілген деректерге көтереді маңызды ақпарат.

  • Қондырылған бағдарламалық қамтамасыз ету басқару үшін әр түрлі функциялар чипіне және индикация жағдайын аппараттық қамтамасыз ету жолымен жеке битами аппараттық тіркелімдер жапсарлас оқып үйрену.

  • Низкоуровневое бағдарламалау сияқты бағдарламаларға арналған құрылғылар драйвері, криптографиялық бағдарламалық қамтамасыз ету үшін " бейнені қайта кодтауды, бөлгіштер еске алу, бағдарламалық қамтамасыз ету үшін сығу және кестелері.

  • Ыңғайлы жүргізу үлкен жиынтығы бүтін сандарды міндеттер іздеу және оңтайландыру.

  • Побитовые операции атқарылатын битовыми туларымен қамтуы мүмкін данасы типті аудару сақтауға арналған кез-келген комбинациялар анықталған мәндердің тізімінен перечислителей.

бағдарламалау тілі c

Побитовые операции — ол қалай жұмыс істейді?

қарағанда қарапайым логикалық операторлар (мысалы, +, -, *), олар байтами немесе топтар байт, побитовые операторлары болуы мүмкін тексеруге немесе орнатуға әрбір жекелеген бит " бәйте. Побитовые операции ешқашан тудырады толып ұяшықтарда жад, себебі алынған нәтиже орындағаннан кейін операциялар ауқымының шегінде орналасқан ықтимал мәндер үшін сандық типті.

Көп:

Lenovo v580c: егжей-тегжейлі шолу

Lenovo v580c: егжей-тегжейлі шолу

Бүгін біз жазу Lenovo ноутбугы v580c. Шолу егжей-тегжейлі, өйткені бұл портативті ДК сериясы IdeaPad кеңінен танымал, бірақ көпшілігі біледі, бұл тартады бұл құрылғы сатып алушылар. Моделі болып табылады жылдам және қамтиды көптеген оң қасиеттерді, с...

Таңдаймыз арналған модем ноутбука. Бірнеше ұсынымдар жаңа бастаған пайдаланушылар үшін

Таңдаймыз арналған модем ноутбука. Бірнеше ұсынымдар жаңа бастаған пайдаланушылар үшін

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

Ксеро-көшірме қағазы: қолдану және сипаттамалары

Ксеро-көшірме қағазы: қолдану және сипаттамалары

Қағаз болып саналады үлкен сұранысқа ие. Ол стандартты өлшемдері сәйкес келетін белгілеген форматтарға. Мысалы, парақтар А4 жүргізіледі параметрлерімен 297 210 мм. қалыңдығы құрайды, 0,02 - 0,03 мм. ксеро-көшірме қағазы кез келген басқа сияқты, ие, н...

Побитовые операторлары пайдаланылатын отбасы тілдері 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
Терминдер «соқалар» және «байттар» жиі путаются тіпті пайдаланылады взаимозаменяемо, өйткені естіледі бірдей және екеуі де қысқартылады әрпімен «Б». Алайда, дұрыс жазу соқалар қысқартылады төменгі регистрдегі «б», байттар қысқартылады жоғарғы регистрдегі — «Б». Шатастырмау керек бұл екі термин ретінде кез-келген өлшеу байтпен құрамында сегіз есе көп бит. Мысалы, шағын мәтіндік файл көлемі 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://tostpost.com/ar/computers/8584-c-c.html

BE: https://tostpost.com/be/kamputary/15383-pab-tavae-aperacy-pragramavanne-na-c-c.html

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

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

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

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

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

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

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

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

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

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






Alin Trodden - мақала авторы, редактор
"Сәлем, Мен Алин Тродденмін. Мен мәтіндер жазып, кітаптар оқып, әсер іздеймін. Мен сізге бұл туралы айтуды жақсы білемін. Мен әрқашан қызықты жобаларға қатысқаныма қуаныштымын."

Комментарий (0)

Бұл мақала емес, түсіндірмелер, бірінші болыңыз!

Добавить комментарий

Жаңалықтар

Қалай және не үшін жүргізеді драйверлерді жою

Қалай және не үшін жүргізеді драйверлерді жою

жиі пайдаланушыға қажет ғана емес, орнату және алып тастау басыңыз. Мақсаты екі рәсімдерді қарамастан, олардың қарама-қарсы, және оның қамтамасыз ету үшін, ең жақсы өнімділік компьютер. Бар екі ең көп тараған жағдай, қазіргі таңда...

Қалай жасауға FTP-сервері өз бетінше?

Қалай жасауға FTP-сервері өз бетінше?

Көптеген сізді қалай құру FTP-сервер. Менің енгізілсін кейбір айқындық. Үшін барлық түсінетін, әңгіме не туралы болып отыр, көрейік, бұл дегеніміз не? Үшін тереңдей түсетініне в дебри, жай ғана айтайын, бұл хранилище файлов үлкен ...

Ол планшет ерекшеленеді ноутбук? Негізгі сәттерді

Ол планшет ерекшеленеді ноутбук? Негізгі сәттерді

Пайда болуы компьютерлердің өткен ғасырдың соңында едәуір әсер етті даму қарқыны кез-келген индустрия. Бұл өнеркәсіп, сауда, көлік саласы, ойын-сауық және тағы басқалар. Бірегейлігі компьютерлендіру ол проникла ғана емес, өндіріст...

GTA San Andreas: cheats cheats. Коды на GTA San Andreas

GTA San Andreas: cheats cheats. Коды на GTA San Andreas

компьютерлік ойындарда жиі отырса, читы, қалдырады әзірлеушілер. Бастапқыда олар үшін арналады тестілеу, бірақ үлкен оның бір бөлігі жиналады, бұл процесс аяқталады. Алайда, бір бөлігі болып отыр, тиісінше, геймеры пайдалана алады...

Star Conflict: шолу ойындар

Star Conflict: шолу ойындар

Барлық өзгерді және әуесқой уақыттарын тиімді өткізеді ойындарда, әрине, әрдайым табуға лайықты жоба, ол ғана емес, завлечет өзінің сюжет, бірақ затянет өтуіне кем емес біркелкі және скучным). Арасында мұндай үлкен және күрделі са...

"Зов Боэтии", "Скайрим". Өту квест

Қонақтары Лордтар Даэдра - ең қызықты бөліктерінің ойындар Skyrim. Барлығы он алты дана, бірақ қазір сөз қозғалады ғана туралы, олардың бірінде « туралы квесте «Зов Боэтии» ("Скайрим"). Өту ең квест, сондай-ақ тә...