You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
"use strict";
|
|
|
|
const assert = require("assert");
|
|
const log2 = require("@extra-bigint/log2");
|
|
|
|
module.exports = function countBits(number) {
|
|
assert(number >= 0n);
|
|
|
|
return (number === 0n)
|
|
? 1 // Special case, log2 would return null here
|
|
: Number(log2(number)) + 1;
|
|
};
|