zbits.3 - libzahl - big integer library
(HTM) git clone git://git.suckless.org/libzahl
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) README
(DIR) LICENSE
---
zbits.3 (707B)
---
1 .TH ZBITS 3 libzahl
2 .SH NAME
3 zbits - Count used bits in a big integer
4 .SH SYNOPSIS
5 .nf
6 #include <zahl.h>
7
8 size_t zbits(z_t \fIa\fP);
9 .fi
10 .SH DESCRIPTION
11 .B zbits
12 calculates the bit-size of
13 .IR a .
14 If
15 .I a
16 is zero the bit-size is 1.
17 .SH RETURN VALUE
18 .B zbits
19 returns the number of bits requires
20 to represent
21 .I a
22 \(em 1 plus the floored binary logarithm of the
23 absolute value of
24 .I a
25 \(em or 1 if
26 .I a
27 is zero.
28 .SH RATIONALE
29 .B zbits
30 returns 1 rather than 0 if
31 .B a
32 is zero, this is to avoid off-by-one errors
33 and it is the number of digits requires to
34 write the number in binary. You will see this
35 in corresponding functions in other libraries.
36 .SH SEE ALSO
37 .BR zlsb (3),
38 .BR zzero (3),
39 .BR zstr_length (3)