shell指令碼進製轉換

2021-10-09 08:05:54 字數 744 閱讀 8118

shell指令碼進製轉換

#!/bin/bash

read -p "輸入進製數:" a

read -p "輸入數字:" bif[

$a= 10 ]

then

echo

"二進位制數為:$(

echo

"obase=2;$b"|bc

)"echo

"十六進製制數為:$(

echo

"obase=16;$b"|bc

)"elif[$a

= 2 ]

then

echo

"十進位制數為:$(

echo

$((2#$b)

))"#echo "十進位制數為:$(echo "obase=10;$(echo $((2#$b)))" | bc)"

echo

"十六進製制數為:$(

echo "obase=16;

$(echo $((2#$b)

))"| bc)

"elif [ $a = 16 ]

then

echo "十進位制數為:$(

echo

$((16#$b)))"

echo "二進位制數為:$(

echo "obase=2;

$((16#$b)

)" | bc)"

else

echo "暫不支援轉換"

fi

shell 進製轉換

shell 指令碼預設數值是由10 進製數處理,除非這個數字某種特殊的標記法或字首開頭.才可以表示其它進製型別數值。如 以 0 開頭就是 8 進製.以0x 開頭就是16 進製數.使用方法 八進位制轉十進位制 chengmo centos5 num 0123 chengmo centos5 echo ...

shell指令碼格式轉換

初學shell程式設計的研發人員通常都會遇到這樣的問題,在windows下編輯的shell指令碼放到linux環境下比如手機中執行時就會出一些莫名其妙的錯誤,及時是一些非常簡單的shell命令也會報錯。其實錯誤的原因只有乙個就是格式問題,在windows下編輯出的shell指令碼格式為dos格式,而...

shell指令碼 把十進位制資料轉換成十六進製制

本文介紹了一種shell指令碼,用來處理十進位制數轉換成十六進製制的方法。現有兩個資料檔案i0.txt和q0.txt,資料如下 i0.txt q0.txt 935 3297 385 6964 280 12697 1768 8404 7377 852 bin bash 因為有負數,所以先轉換成16位十...