小编gp_*_*xps的帖子

从十六进制转换为二进制时,防止BC自动截断前导零

我正在尝试将十六进制字符串转换为二进制。我正在使用:

echo "ibase=16; obase=2; $line" | BC_LINE_LENGTH=9999 bc
Run Code Online (Sandbox Code Playgroud)

它会截断前导零。也就是说,如果十六进制字符串为4F,则将其转换为1001111;如果为0F,则将其转换为1111。我需要的是0100111100001111

我能做什么?

bash

5
推荐指数
1
解决办法
4734
查看次数

为什么XORing两个大二进制数给出十进制输出?

我试图XOR两个大的二进制值.然而,

echo ${hashArray[1]}
echo ${hashArray[2]}
echo $((${hashArray[1]} ^ ${hashArray[2]}))
Run Code Online (Sandbox Code Playgroud)

得到:

10100100000111101011100001101110000110000100001000000111001001100010110000010010111101100110111001111100010010000000010101110111

00001110110000010110101101011011100101101000011100011101001101101010000100110001001110101101111100010001111010100011010000000100

4018181242766406943
Run Code Online (Sandbox Code Playgroud)

为什么echo $((${hashArray[1]} ^ ${hashArray[2]}))输出十进制数?它不应该是另一个大的二进制值吗?

bash

3
推荐指数
1
解决办法
1万
查看次数

标签 统计

bash ×2