Translation not up to date
The translation of this page does not represent the latest version. For the latest updates, see the English version of the documentation.
Last updated: 04 Tem 2023
Bu işlevler, iki ' in tamamlayıcısı değerlerini temsil eden bit kalıpları olarak tamsayıları etkinleştirir; burada bit konumu N
, 2**N
ağırlığına sahiptir.
Bitler 0 yukarı doğru numaralandırılır. Bu işlemler, bir tamsayının işaret biti soluna süresiz uzatıldığı gibi hareket eder. Bu nedenle, her yerde en önemli biti, pozitif bir tamsayıya 0 bite ve negatif bir tamsayıya 1 bit sahiptir.
İşlev | Sonuç | Açıklama |
---|---|---|
~~ INT1 |
Tamsayı | INT1tamsayısının bit tamamlayıcı tamamlayıcısı üretir. That is, there is a 1 in the result for each bit position for which INT1 has 0. It is always true that ~~ INT =
–(INT + 1) . |
INT1 || INT2 |
Tamsayı | The result of this operation is the bitwise "inclusive or" of INT1 and INT2. Yani, her bir bit konumu için, INT1 ya da INT2 ' de ya da her ikisinde de 1 olan her bit konumu için bir 1 değeri vardır. |
INT1 ||/& INT2 |
Tamsayı | The result of this operation is the bitwise "exclusive or" of INT1 and INT2. Yani, her bit konumu için, INT1 ya da INT2 içinde 1 olan, ancak her ikisinde de olmayan bir konum için 1 değeri vardır. |
INT1 && INT2 |
Tamsayı | INT1 ve INT2tamsayısının bit olarak "ve" üretmesini sağlar. Yani, her bit konumu için hem INT1 hem de INT2' de 1 olduğu her bit konumu için bir 1 değeri vardır. |
INT1 &&~~ INT2 |
Tamsayı | Produces the bitwise "and" of INT1 and the bitwise complement of INT2. That is, there is a 1 in the result for each bit position for which there is a 1 in INT1 and a 0 in INT2. Bu, INT1 && (~~INT2) ile aynıdır ve INT2içinde ayarlanan INT1 bitlerini temizlemek için kullanışlıdır. |
INT << N |
Tamsayı | Produces the bit pattern of INT1 shifted left by H positions. H için negatif değer, doğru bir vardiya oluşturur. |
INT >> N |
Tamsayı | Produces the bit pattern of INT1 shifted right by H positions. H için negatif bir değer, sol bir vardiya oluşturur. |
INT1 &&=_0 INT2 |
Boole | INT1 && INT2 /== 0 Boole ifadelerine eşdeğerdir, ancak daha verimlidir. |
INT1 &&/=_0 INT2 |
Boole | INT1 && INT2 == 0 Boole ifadelerine eşdeğerdir, ancak daha verimlidir. |
integer_bitcount(INT) |
Tamsayı | Counts the number of 1 or 0 bits in the two's-complement representation of DNT. INT negatifse, N 1 bit sayısıdır. INT negatifse, 0 biti sayısıdır. İşaret uzantısına sahip olarak, negatif olmayan bir tamsayı ya da eksi bir tamsayıda 1 biti sonsuz sayıda 0 bit vardır. Bu, her zaman integer_bitcount(INT) = integer_bitcount(-(INT+1)) ' in durumunda olur. |
integer_leastbit(INT) |
Tamsayı | Returns the bit position H of the least-significant bit set in the integer DNT. H is the highest power of 2 by which DNT divides exactly. |
integer_length(INT) |
Tamsayı | Uzunluğu INT ' in bit bitlerini iki tamamlayıcısı bir tamsayı olarak döndürür. Yani, N , INT < (1 << N) if INT >= 0 INT >= (–1 <<
N) if INT < 0 gibi en küçük tamsayıdır. DNT negatifse, DNT ' un işaretsiz bir tamsayı olarak gösterimi en az H biti bir alan gerektirir. Alternatively, a minimum of N+1 bits is required to represent DNT as a signed integer, regardless of its sign. |
testbit(INT, N) |
Boole | Tests the bit at position H in the integer DNT and returns the state of bit H as a Boolean value, which is true for 1 and false for 0. |