summaryrefslogtreecommitdiff
path: root/awklib/eg/lib/bits2str.awk
blob: a10ffad180d6f9d4da20af1776b4cfea7e166714 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# bits2str --- turn a byte into readable ones and zeros

function bits2str(bits,        data, mask)
{
    if (bits == 0)
        return "0"

    mask = 1
    for (; bits != 0; bits = rshift(bits, 1))
        data = (and(bits, mask) ? "1" : "0") data

    while ((length(data) % 8) != 0)
        data = "0" data

    return data
}