Bit поле - това
Апел към полетата на битови изисква допълнителни инструкции на процесор за да се прикрие и промяна, и следователно по-бавно, позовавания на думи / байта. Ето защо, битови полета се използват за най-пълния пакет от информация, на места, където скоростта не е важно достъп до информация.
Съставители обикновено ограничават работа само с премахване на полета битови в битова стойност поле и на входната стойност в поле малко и поле малко себе си се възприема като положително цяло. Действителната реда на полетата за битови в структурата е система зависи: в някои компилатори битови полета могат да бъдат организирани като се започне от най-незначителните битове, а в другата - с по-големи.
Операции на мулти-битови полета
Да предположим, че един байт три битови полета: 1-битов и б. 2 с-малко и 4-битов г. т.е..
Изграждане на броя на битовите полета
Binary компютри обикновено имат команди за смяна на битови, които ви позволяват да се размножават бързо в силата на две - .. 2, 4, 8, и т.н. Вместо да добавяте команда можете да използвате логическото "ИЛИ". По този начин, брой х могат да бъдат събрани по друг начин:
Извличането на полето за малко
За да извлечете необходимостта от малко поле, за да държат две операции:
- Умножете логично "и" броя на маската на малко - число, което се нарежда в съответните звена, а останалите нули.
- Провеждане на побитова изместване надясно.
- Провеждане на побитова отклонение в дясно.
- Умножение операция логическо "и" номер в малко маска, съответстващ дължина.
За основните области, които не се нуждаят от смяна на оператора, а именно:
За по-стари полета побитовото самата смяна, без да се умножи по маската, очисти х излишни бита - това е,
Подмяна на битовото поле
- Ясно х от предишната стойност на размножаването на побитовото с нули на маската в съответните битове.
- Побитова сгънати х с новата стойност (изместен към желания брой битове)
Например, ако трябва да сменим г. на
Операции над един-битови полета
Полетата а и б са с дължина 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 ...