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)