Byte 如何将位转换为字节?
如果我有一个x位值,表示为1s和0s,分别表示true和false。如何将这些转换为8位字节?我不想知道如何将位数转换为字节数(x/8)。我想知道如何转换如下内容: 1000010到一个字节 或Byte 如何将位转换为字节?,byte,bits,Byte,Bits,如果我有一个x位值,表示为1s和0s,分别表示true和false。如何将这些转换为8位字节?我不想知道如何将位数转换为字节数(x/8)。我想知道如何转换如下内容: 1000010到一个字节 或 1000001000001到浮点字节[byteIndex]|=(字节)(1所以我猜你想要 bytes[byteIndex] |= (byte)(1 << (7-bitIndex)); 1转换为1, 10转换为2, 11改为3, 等 1001011被转换为1*2^0+1*2^1+0*2^2+
1000001000001到浮点
字节[byteIndex]|=(字节)(1所以我猜你想要
bytes[byteIndex] |= (byte)(1 << (7-bitIndex));
1转换为1,
10转换为2,
11改为3,
等
1001011被转换为1*2^0+1*2^1+0*2^2+1*2^3+0*2^4+0*2^5+1*2^6=75
编辑:例如,使用JavaScript:
function binarytodecimal(input,l)
{
var i=0;
var dec=0;
while (i<l)
{
var temp1 = parseInt(input.charAt(l-1-i));
dec = dec + temp1*Math.pow(2,i);
i++;
}
dec = dec+'';
return dec;
}
函数binarytodecimal(输入,l)
{
var i=0;
var-dec=0;
而(i这个问题没有意义(没有更多信息)。位可以用多个顺序表示(endian),低阶位排在第一位或最后。您需要有一个定义的endian顺序。一旦从单个字节移动到单词,endian问题变得更具挑战性,因为位的顺序可能与字节的顺序不同
从整数到浮点数的转换是另一个复杂的层次。浮点数有不同的表示,这与位的顺序完全不同
可移植代码将使用定义的表示(网络顺序、printf等)不要试图手动打包位。我指的是一种数学方法,而不是一种编程方法。如果您提供了一种编程解决方案,请给出一些解释——不管是大端还是小端,只会影响字节顺序。