【发布时间】:2014-10-06 21:15:17
【问题描述】:
我想知道是否有一种计算方法可以让我获得存储任何负(有符号)值(例如 -1、-255、-1324 等)所需的位数?
目前我已经实现了一个函数来计算大于等于 0 的值:
calculateBitsNeeded = function (value) {
if (value == 0) {
return 1;
}
else if (value > 0) {
return Math.floor(Math.log(value) / Math.LN2) + 1;
}
else {
//TODO ...
}
};
例如:如果我有数字 -38,我需要 7 位来存储 (101 1010)。
感谢您的帮助:)
【问题讨论】:
-
JS中任意数字以64位格式存储。
-
@hindmost:是的,我知道。但是我正在编写一个与 C++ 服务器在非常低级别的基础上通信的应用程序。所以实际上我必须处理 ArrayBuffers etc.pp。并且必须照顾好我的位;)
-
所以您的问题与 Javascript 无关。用
C++标记它 -
嗯,这个问题与任何特定的编程语言都没有关系,它一般指的是 IT 和软件。我的应用程序是用 javascript 构建的,但无论如何我现在也用 C++ 标记了它...... ;)
标签: javascript c++ binary decimal signed