0 / 0
Go back to the English version of the documentation
Bitové celočíselné operace
Last updated: 12. 1. 2023
Bitové celočíselné operace (SPSS Modeler)

Tyto funkce umožňují, aby se celá čísla manipulují jako bitové vzory představující dvě hodnoty-doplnění, kde bitová pozice N má váhu 2**N.

Bity jsou číslovány od 0 nahoru. Tyto operace se chovají, jako by se bit znaménka celého čísla v levé části rozšířil na neurčito. Tedy, všude nad svým nejvýznamnějším bitem, má kladné celé číslo 0 bitů a záporné celé číslo má 1 bit.

Tabulka 1. Bitové celočíselné operace CLEM
Funkce Výsledek Popis
~~ INT1 Celé číslo Vytvoří bitový komplement celého čísla INT1. To znamená, že pro každou bitovou pozici, pro kterou má parametr INT1 hodnotu 0, je ve výsledku jedna hodnota 1. Vždy je pravda, že ~~ INT = –(INT + 1).
INT1 || INT2 Celé číslo Výsledek této operace je bitový "all inclusive nebo" z INT1 a INT2). To znamená, že ve výsledku je jeden výsledek za každou bitovou pozici, pro kterou existuje 1 buď INT1 , nebo INT2 , nebo obojí.
INT1 ||/& INT2 Celé číslo Výsledek této operace je bitové "výlučné nebo" z INT1 a INT2. To znamená, že ve výsledku je 1 výsledek pro každou bitovou pozici, pro kterou existuje 1 v INT1 nebo INT2 , ale ne v obou.
INT1 && INT2 Celé číslo Vytvoří bitové znaky "and" pro celá čísla INT1 a INT2. To znamená, že ve výsledku je pro každou bitovou pozici 1, pro kterou existuje 1, v obou INT1 a INT2.
INT1 &&~~ INT2 Celé číslo Vytvoří bitové znaky "a" z INT1 a bitové komplement INT2. To znamená, že pro každou bitovou pozici s hodnotou 1 v INT1 a 0 v INT2je 1 ve výsledku. To je stejné jako INT1 && (~~INT2) a je užitečné pro vyčištění bitů INT1 nastavené v INT2.
INT << N Celé číslo Produkuje bitový vzorek INT1 posunutý doleva o N pozic. Záporná hodnota pro N vytvoří pravou směnu.
INT >> N Celé číslo Produkuje bitový vzorek INT1 posunutý zprava o N pozic. Záporná hodnota pro N vytvoří levou směnu.
INT1 &&=_0 INT2 Logická hodnota Ekvivalentní s logickým výrazem INT1 && INT2 /== 0 , ale je efektivnější.
INT1 &&/=_0 INT2 Logická hodnota Ekvivalentní s logickým výrazem INT1 && INT2 == 0 , ale je efektivnější.
integer_bitcount(INT) Celé číslo Počítá počet 1 nebo 0 bitů ve dvou-komplementové reprezentaci INT. Je-li hodnota INT nezáporná, hodnota N je číslo 1 bitů. Je-li hodnota INT záporná, je to číslo 0 bitů. Vzhledem k rozšíření znaménka, existuje nekonečný počet 0 bitů v nezáporné celé číslo nebo 1 bity v záporném integer. Vždy se jedná o případ, který integer_bitcount(INT) = integer_bitcount(-(INT+1)).
integer_leastbit(INT) Celé číslo Vrátí bitovou pozici N z nejméně významné bitové sady v celočíselném INT. N je nejvyšší mocnost 2, kterou se INT rozděluje přesně.
integer_length(INT) Celé číslo Vrátí délku (v bitech) INT jako celé číslo komplementu. To znamená, že N je nejmenší celé číslo takové, že INT < (1 << N) if INT >= 0 INT >= (–1 << N) if INT < 0. Je-li hodnota INT nezáporná, pak znázornění hodnoty INT jako celé číslo bez znaménka vyžaduje pole alespoň N bitů. Případně je vyžadováno minimum N+1 bitů, které představuje INT jako podepsané celé číslo bez ohledu na jeho znaménko.
testbit(INT, N) Logická hodnota Testuje bit na pozici N v celočíselném INT a vrací stav bitu N jako logickou hodnotu (Boolean), která má hodnotu true pro hodnotu 1 a false pro 0.
Generative AI search and answer
These answers are generated by a large language model in watsonx.ai based on content from the product documentation. Learn more