TapHome

Bitműveletek

TapHome szkript bit- és bájtkezelés — GETBIT, GETBITS, GETBYTE, SETBYTE, SETBIT, SETBITS, biteltolások, valamint bitenkénti AND/OR operátorok.

GETBIT

Visszaadja egy bit értékét a megadott helyen.

GETBIT(number, bit_position)

Argumentumok:

  • number – a szám, amelyből a bit értékét ki akarjuk nyerni
  • bit_position – a bit pozíciója, 0‑tól jobbra számolva

Példák:

  • GETBIT(2, 0) → az 1. bit a 2‑es számnál (0b0010) 0
  • GETBIT(4,2) → a 3. bit a 4‑es számnál (0b0100) 1

GETBITS

Visszaadja megadott számú bit értékét a megadott helyen.

GETBITS(number, start_bit, number_of_bits)

Példák:

  • GETBITS(216, 3, 2) → 216 = 0b1101 1000; a jobbról számított 4. bit értéke 1, az 5. bit is 1, ezért az eredmény 0b0011 = 3
  • GETBITS(0xFF, 0, 4) → 0xFF = 255 = 0b1111 1111; az első 4 bit értéke 0b1111 = 0xF = 15

GETBYTE

Visszaad egy bájt értékét a megadott számnál.

GETBYTE( number, byte_position )

Argumentumok:

  • number – a szám, amelyből ki akarjuk nyerni a bájt értékét
  • byte_position – a bájt pozíciója, 0‑tól balra számolva

Példák:

GETBYTE(256, 0)  →  0001 0000 0000 →  0
GETBYTE(256, 1)  →  0001 0000 0000 →  1
GETBYTE(259, 0)  →  0001 0000 0011 →  3

SETBYTE

Új értéket rendel a megadott bájthoz a megadott számnál, és visszaadja a módosított értéket.

SETBYTE( number, byte_position, new_value )

Példák:

SETBYTE(1, 0, 0)      →   0
SETBYTE(256, 0, 255)  →   511
SETBYTE(256, 1, 1)	 →   256
SETBYTE(259, 1, 2)	 →   515

SETBIT

Új értéket rendel a megadott bithez a megadott számnál, és egy új számot ad vissza.

SETBIT(number, bit_position, new_value)

Argumentumok:

  • number – a módosítani kívánt szám
  • bit_position – a bit pozíciója, 0‑tól balra számolva
  • new_value – 0 vagy 1 – az adott bitre beállítandó érték

Példák:

  • SETBIT(1, 1, 1) → 3
  • SETBIT(3, 1, 1) → 3
  • SETBIT(4, 2, 0) → 4
  • SETBIT(12, 1, 0) → 14

SETBITS

Új értéket rendel a megadott bitekhez a megadott számnál, és egy új számot ad vissza.

SETBITS(number, start_bit, number_of_bits, new_value)

Példák:

  • SETBITS(192, 4, 2, 3) → 240
  • SETBITS(192, 5, 2, 3) → 224

« (BAL OLDALI BIT SHIFT)

8 << 2   (32)

Excel: BITLSHIFT(number, shift_amount)

» (JOBB OLDALI BIT SHIFT)

32 >> 2   (8)

Excel: BITRSHIFT(number, shift_amount)

& (BITWISE AND)

3 & 1   (1)

Excel: BITAND(number1, number2)

| (BITWISE OR)

2 | 1 (3)

Excel: BITOR(number1, number2)

Lásd a bitműveletek Google Sheets példáit: https://docs.google.com/spreadsheets/d/1hF5FMpGMJbgYh-YLwWrq2n186_ATyGyLUb689__IhLY/edit?usp=sharing

Vagy próbáld ki az interaktív eszközt: http://bitwisecmd.com/