Bit поле - това

Апел към полетата на битови изисква допълнителни инструкции на процесор за да се прикрие и промяна, и следователно по-бавно, позовавания на думи / байта. Ето защо, битови полета се използват за най-пълния пакет от информация, на места, където скоростта не е важно достъп до информация.

Съставители обикновено ограничават работа само с премахване на полета битови в битова стойност поле и на входната стойност в поле малко и поле малко себе си се възприема като положително цяло. Действителната реда на полетата за битови в структурата е система зависи: в някои компилатори битови полета могат да бъдат организирани като се започне от най-незначителните битове, а в другата - с по-големи.

Операции на мулти-битови полета

Да предположим, че един байт три битови полета: 1-битов и б. 2 с-малко и 4-битов г. т.е..

Изграждане на броя на битовите полета

Binary компютри обикновено имат команди за смяна на битови, които ви позволяват да се размножават бързо в силата на две - .. 2, 4, 8, и т.н. Вместо да добавяте команда можете да използвате логическото "ИЛИ". По този начин, брой х могат да бъдат събрани по друг начин:

Извличането на полето за малко

За да извлечете необходимостта от малко поле, за да държат две операции:

  1. Умножете логично "и" броя на маската на малко - число, което се нарежда в съответните звена, а останалите нули.
  2. Провеждане на побитова изместване надясно.
  1. Провеждане на побитова отклонение в дясно.
  2. Умножение операция логическо "и" номер в малко маска, съответстващ дължина.

За основните области, които не се нуждаят от смяна на оператора, а именно:

За по-стари полета побитовото самата смяна, без да се умножи по маската, очисти х излишни бита - това е,

Подмяна на битовото поле

  1. Ясно х от предишната стойност на размножаването на побитовото с нули на маската в съответните битове.
  2. Побитова сгънати х с новата стойност (изместен към желания брой битове)

Например, ако трябва да сменим г. на

Операции над един-битови полета

Полетата а и б са с дължина 1 бит - това им позволява да се работи с някои други средства.

Тестване индивидуален малко

За да проверите, че е необходимо да се размножават в експлоатация Побитовия х "А" на маската, която една единица - съответната позиция. Ако се обърна 0 бит е 0.

Проверете дали устройството е най-малко един малко на някои от тях:

Проверете дали всички битове са равни на един от тях:

Създаване бита

За да направите това, добавете до операцията "ИЛИ» х с маска, която има единици в съответните позиции. Например, за да се даде възможност на бита:

За да включите и. и б:

Премахване на бита

За да премахнете един или повече битове, то е необходимо да се определят х операция "И" с маската, която в подходящи позиции нули. По-конкретно, за да изключите малко б. вие трябва да дадете командата:

превключване бита

За превключване бита (от 0 до 1, 1-0), е необходимо да се определи отбор х "XOR" с маската, която в съответните позиции на устройството. Например, малко б е включен, както следва:

Манипулиране на емблематични полета в двете си

Има два начина за съхраняване на отрицателни числа, - малко знак и допълнителен код. В по-голямата част от съвременните машини, използвани в секунда. Когато пишете отрицателни числа имаме допълнителен код:

Ние считаме, че полетата в и г имат точно този формат. След това поле С може да се съхранява на броя на 2 = 102 и 1 = 012. и поле г - от -8 до 7 = 10002 = 01112.

номера събрание и резервни

Всеки един от термините (различни от старши), така че не се разваля по-значимите бита, е необходимо да се умножи по малко маска с подходяща дължина. По-специално:

Извличане на числа

За да извлечете номера, необходими за придвижване на полето до желания броя на битовете в дясно, в същото време като умножава бит знак. Например, за тази цел, можете да използвате аритметична смяна. Ако х е с дължина 8 бита,

Внимание! На езика Java е обратното: знак >> определен аритметика смяна, знакът >>> - просто.

Ако средната аритметична смяна не е, тогава ...

език С, / C ++

Обявяването на поле малко използва от дебелото черво, последвано от постоянна експресия уточнява броя битове в [1];

бележки

За да се подобри тази статия, че е желателно.

Вижте какво е "малко поле" в други речници:

bitfield - Съседните октета или бита в код последователност се декодират като цяло и са или на абстрактно смисъла, или съдържат информацията, необходима за успешно декодиране или представляват двете. Имайте предвид, ... ... Референтна техническа преводач

Невярно (стойност) - multivalued концепция област, свързана с дължина в космоса: Концепция Невярно математиката алгебрични конструкция с две операции. Скаларни, векторни и тензорни полета в диференциална геометрия (вж. Векторът и тензор) и математически анализ ... Wikipedia

Невярно (компютър) - multivalued концепция област, свързана с дължина в космоса: Концепция Невярно математиката алгебрични конструкция с две операции. Скаларни, векторни и тензорни полета в диференциална геометрия (вж. Векторът и тензор) и математически анализ ... Wikipedia

Golf - Golf-ценен концепция, свързана с дължина в космоса поле в Уикиречник Wikipedia ...