У меня есть строка, закодированная в формате Little Endian (сначала младший байт), и я хочу декодировать ее в число.Для кодера первый бит последнего байта отражает, является ли число положительным или отрицательным.Кто-нибудь знает, как это сделать?
Вот мой декодер:
decode:function(str,type){
var num=0;
var len=size(type)-(type.signed?1:0);
var totalBits=0;
for(var i=0;i<len;i++){
num+=(str.charCodeAt(i)<<totalBits));
totalBits+=8;
}
if(type.signed){
var b=str.charCodeAt(size(type)-1);
var neg=(b>=128);
if(neg){
b-=128;
}
num+=b;
num*=(neg?-1:1);
}
return num;
}
Спасибо.