Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
ru:software:homelab:library:bit [2013/08/12 10:41] – создано eduardtlmkru:software:homelab:library:bit [2020/07/20 12:00] (current) – external edit 127.0.0.1
Line 1: Line 1:
 ====== Битовые операции ====== ====== Битовые операции ======
  
-Библиотека битовых операций – это набор общепринятых макрофункций для совершения +Библиотека битовых операций – это набор общепринятых макрофункций для совершения типичных битовых действий. Эти функции могут быть использованы в любых регистрах и типах данных, так как у макрофункций нет конкретного типа данных. Функции подходят 8-, 16- и 32-битным переменным и регистрам. Эти битовые операции используются всеми другими частями библиотеки, поэтому функции выписаны в главе исходного кода.
  
-типичных битовых действий. Эти функции могут быть использованы в любых регистрах и +Битовым индексом считается порядковый номер бита, начиная с наименее важного (англ. //least significant bit//, сокращённо LSB). Подсчёт начинается с нуля. Значение битового индекса у 8-битного числа 0-7, у 16-бинтого - 0-15 и 32-битного 0-31.
  
-типах данных, так как у макрофункций нет конкретного типа данных. Функции подходят  +===== Функции =====
- +
-8-, 16- и 32-битным переменным и регистрам. Эти битовые операции используются всеми  +
- +
-другими частями библиотеки, поэтому функции выписаны в главе исходного кода. +
- +
-Битовым индексом считается порядковый номер бита, начиная с наименее важного (англ.  +
- +
-least significant bit, сокращённо LSB). Подсчёт начинается с нуля. Значение битового индекса  +
- +
-у 8-битного числа 0-7, у 16-бинтого - 0-15 и 32-битного 0-31. +
- +
-===== Funktsioonid =====+
  
   * **//bit_mask(bit)//** \\   * **//bit_mask(bit)//** \\
-    Bitiindeksi teisendamine bitimaskiksParameetrid+    Перевод битового индекса в битовую маскуПараметры
-    * //bit// - Bitiindeks+    * //bit// - Битовый индекс
-    * Tagastab bitimaski.+    * Возвращает битовую маску.
  
   * **//bit_set(value, bit)//** \\   * **//bit_set(value, bit)//** \\
-    Muutujas kindla biti kõrgeks seadmineParameetrid+    Настойка конкретного бита в высокое положение в переменнойПараметры
-    * //value// - Muutuja+    * //value// - Переменная
-    * //bit// - Bitiindeks.+    * //bit// - Битовый индекс.
  
   * **//bit_clear(value, bit)//** \\   * **//bit_clear(value, bit)//** \\
-    Muutujas kindla biti madalaks seadmineParameetrid+    Настойка конкретного бита в низкое положение в переменнойПараметры
-    * //value// - Muutuja+    * //value// - Переменная
-    * //bit// - Bitiindeks.+    * //bit// - Битовый индекс.
  
   * **//bit_set_to(value, bit, state)//** \\   * **//bit_set_to(value, bit, state)//** \\
-    Muutujas kindla biti soovitud olekusse seadmineParameetrid+    Настойка конкретного бита в желаемое положение в переменнойПараметры
-    * //value// - Muutuja+    * //value// - Переменная
-    * //bit// - Bitiindeks+    * //bit// - Битовый индекс
-    * //state// - Tõeväärtus (//true// või //false//).+    * //state// - Значение (//true// или //false//).
  
   * **//bit_invert(value, bit)//** \\   * **//bit_invert(value, bit)//** \\
-    Muutujas kindla biti oleku ümberpööramine (madal kõrgeks ja vastupidi). Parameetrid+    Инвертирование (низкий высоким и наоборотсостояния конкретного бита в переменнойПараметры
-    * //value// - Muutuja+    * //value// - Переменная
-    * //bit// - Bitiindeks.+    * //bit// - Битовый индекс.
  
   * **//bit_is_set(value, bit)//** \\   * **//bit_is_set(value, bit)//** \\
-    Väärtuse kindla biti kõrgeloleku kontrollParameetrid+    Контроль высокого положения значения конкретного битаПараметры
-    * //value// - Muutuja+    * //value// - Переменная
-    * //bit// - Bitiindeks+    * //bit// - Битовый индекс
-    * Tagastab tõeväärtuse //true//, kui bitt on kõrge ja //false//, kui bitt on madal.+    * Возвращает значение //true//, если бит высокий и //false//, если низкий.
  
   * **//bit_is_clear(value, bit)//** \\   * **//bit_is_clear(value, bit)//** \\
-    Väärtuse kindla biti madaloleku kontrollParameetrid+    Контроль низкого положения значения конкретного битаПараметры
-    * //value// - Muutuja+    * //value// - Переменная
-    * //bit// - Bitiindeks+    * //bit// - Битовый индекс
-    * Tagastab tõeväärtuse //true//, kui bitt on madal ja //false//, kui bitt on kõrge.+    * Возвращает значение //true//, если бит низкий и //false//, если высокий.
  
-===== Näide =====+===== Пример =====
  
-Muutujas //b// kolmanda biti kõrgeks seadmine ja viimase ümberpööramine.+Установка третьего бита высоким и инвертирование последнего в переменной //b//.
  
 <code c> <code c>
Line 73: Line 61:
 </code> </code>
  
-===== Lähtekood =====+===== Исходный код =====
  
-Järgnevalt on lühendatud kujul toodud teegi lähtekoodkust on nähamis iga makrofunktsiooni taga peitub:+Далее приведён сокращённый исходный код библиотекигде видночто скрывается за каждой макрофункцией:
  
 <code c> <code c>
 // //
-// Funktsioonid bittidega tegelemiseks+// Функции для работы с битами
 // //
 #define bit_mask(bit)            (1 << (bit)) #define bit_mask(bit)            (1 << (bit))
Line 90: Line 78:
  
 // //
-// Funktsioonid bitimaskidega tegelemiseks+// Функции для работы с битовыми масками
 // //
 #define bitmask_set(value, bitMask)     value |= (bitMask) #define bitmask_set(value, bitMask)     value |= (bitMask)
Line 98: Line 86:
 #define bitmask_is_set(value, bitMask)  ((value) & (bitMask)) #define bitmask_is_set(value, bitMask)  ((value) & (bitMask))
 </code> </code>
- 
ru/software/homelab/library/bit.1376293293.txt.gz · Last modified: (external edit)
CC Attribution-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0