Я хотел бы узнать, есть ли расчет, который позволяет мне получить количество бит, которое мне нужно для хранения отрицательного (подписанного) значения (например, -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 я должен был бы 7bits для хранения (101 1010).
Спасибо за любую помощь :)
Любое число в JS, хранящееся в 64-битном формате. – hindmost
@hindmost: Да, я знаю об этом. Но я пишу приложение, которое общается с сервером C++ на базе очень низкого уровня. Так что на самом деле мне приходится иметь дело с ArrayBuffers и т. Д. и нужно позаботиться о моих битах;) – Fidel90
Итак, ваш вопрос не связан с Javascript. Пометьте его 'C++' – hindmost