2014-03-05 24 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位數字 –