2014-03-05 25 views
0

是否有任何shell命令大批从一个基站转换到另一个大基数转换

为前:

Converting 1024-bit binary number into hexadecimal number  

回答

0

你可以看看bchere。例如。转换12为二进制(输出碱= 2)

echo 'obase=2;12' | bc 
1100 

并且还dchere

还有printf。例如。

printf "%x" 32 
20 

或者你可以用bigintbignum的Perl。见here。例如。

perl -e '$line="1101111010101101101111101110111111011110101011011011111011101111110111101010110110111110111011111101111010101101101111101110111111011110101011011011111011101111110111101010110110111110111011111101111010101101101111101110111111011110101011011011111011101111110111101010110110111110111011111101111010101101101111101110111111011110101011011011111011101111110111101010110110111110111011111101111010101101101111101110111111011110101011011011111011101111110111101010110110111110111011111101111010101101101111101110111111011110101011011011111011101111110111101010110110111110111011111101111010101101101111101110111111011110101011011011111011101111110111101010110110111110111011111101111010101101101111101110111111011110101011011011111011101111110111101010110110111110111011111101111010101101101111101110111111011110101011011011111011101111110111101010110110111110111011111101111010101101101111101110111111011110101011011011111011101111110111101010110110111110111011111101111010101101101111101110111111011110101011011011111011101111";$hex=unpack("H*",pack("B*",$line));print $hex' 

输出:

deadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef 

此外,您还可以使用xxd为十六进制转换为二进制:你给

echo -n $'\x02\x02' | xxd -b 
0000000: 00000010 00000010 
+0

所有的选项只适用于较小的数字它不工作为1024位数字 –