将十六进制值转换为布尔值列表

基兰E

这是一个奇怪的问题,但请在这里坚持。给定一个十六进制值(从00-FF开始),我需要将其转换为二进制,然后从那里将其转换为对象,其键为每一位的“位置”,且值为布尔值。

那是一个尴尬的解释。这是一个例子:

给定“ FF”,我需要将其转换为二进制文件(parseInt(<hex value>, 16).toString(2)适用于该工作)。

现在FF已经变为1111 1111,我需要将其转换为如下所示的对象:

{ 
  "1": true, 
  "2": true, 
  "4": true, 
  "8": true, 
  "16":true, 
  "32":true,
  "64": true, 
  "128": true
}

再举一个例子,给定十六进制值“ A6”,1010 0110它将变为:

{ 
  "1": false, 
  "2": true, 
  "4": true, 
  "8": false, 
  "16":false, 
  "32":true, 
  "64": false, 
  "128": true
}

我唯一想做的就是从二进制->对象进行最终转换。

我知道我可以通过一个简单的循环来做到这一点,但是我想知道是否有任何很酷的comp-sci方法来实现这一目标。

谢谢!

哈姆斯

请注意,正如我在上面的评论中提到的那样,您无需将值转换为字符串。如果将其保留为十进制整数,则可以使用bitshift余数运算符来获取二进制值。

var x = parseInt('A6', 16); // 166
var result = {};

for (var n = 1; x > 0; x = x >> 1, n = n * 2) {
   result[n] = x % 2 == 1;
}

console.log(JSON.stringify(result, undefined, 2));

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将十进制转换为十六进制值

来自分类Dev

直接将Ascii值转换为十六进制值

来自分类Dev

如何将十六进制字符串转换为列表中的十六进制值块?

来自分类Dev

将十六进制值转换为ASCII

来自分类Dev

将ASCII字符转换为其十六进制值

来自分类Dev

将RGB /画笔转换为十六进制值

来自分类Dev

将浮点值转换为十六进制

来自分类Dev

将十六进制值(ASCII)转换为文本

来自分类Dev

“转义十六进制”到布尔值

来自分类Dev

将十六进制数转换为十六进制值

来自分类Dev

将十六进制字符串值转换为十六进制数字

来自分类Dev

Python3将十六进制值列表转换为字节

来自分类Dev

将4位整数转换为布尔值列表

来自分类Dev

将python列表转换为numpy数组布尔值

来自分类Dev

c#将char转换为布尔值列表

来自分类Dev

将文本文件中的十进制值列表转换为十六进制格式

来自分类Dev

将十六进制值转换为十进制值

来自分类Dev

将多个十六进制值转换为以逗号分隔的十进制值

来自分类Dev

从十六进制转换为二进制值

来自分类Dev

使用Perl将ASCII十六进制字符串转换为相同的十六进制值

来自分类Dev

使用Perl将ASCII十六进制字符串转换为相同的十六进制值

来自分类Dev

将字符串转换为十六进制格式并将“0x”附加到十六进制值

来自分类Dev

简写形式的十六进制值转换为完整的十六进制值,较少的预处理

来自分类Dev

将Typescript转换为布尔值

来自分类Dev

将布尔值转换为整数

来自分类Dev

将布尔值转换为char

来自分类Dev

将4字节的十六进制转换为十进制值

来自分类Dev

如何将十六进制字符串转换为十进制值

来自分类Dev

如何将十进制或十六进制值转换为整数?

Related 相关文章

热门标签

归档