shell 數制轉換

2021-06-25 10:23:54 字數 1141 閱讀 6781

shell 指令碼預設數值是由10 進製數處理,除非這個數字某種特殊的標記法或字首開頭. 才可以表示其它進製型別數值。如:以 0 開頭就是 8 進製.以0x 開頭就是16 進製數.使用 base#number 這種形式可以表示其它進製.base值:2-64.

使用方法:

八進位制轉十進位制:

charles@taotao:~$ ((num=0123))

charles@taotao:~$ echo $num

83charles@taotao:~$ ((8#123))

charles@taotao:~$ echo $((8#123))

83

(( )) 也可以用 [ ]替代:

charles@taotao:~$ echo $[8#123]

83charles@taotao:~$ echo $[0123]

83charles@taotao:~$ echo $[num=0123]

83charles@taotao:~$ echo $num

83

也可以用 let.

charles@taotao:~$ let num=0x80

charles@taotao:~$ echo $num

128

十六進製制轉十進位制:

charles@taotao:~$ ((num=0xff))

charles@taotao:~$ echo $num

255charles@taotao:~$ ((num=16#ff))

charles@taotao:~$ echo $num

255

十進位制轉八進位制

charles@taotao:~$ echo "obase=16;255" | bc

ffcharles@taotao:~$ echo "obase=8;255" | bc

377

數制的轉換

鏈棧實現數制的轉換 include using namespace std define ok 1 define error 0 define overflow 2 typedef int status define e 8 typedef struct snodesnode,linkstack s...

數制轉換問題

description 在實際問題中經常遇到需要對不同的進製數進行轉換,實現將p進製數轉換成r進製數 2 p,r 16 input 資料報含多行,每行包含三個資料,分別為p,r和待轉換的p進製數d 該數的十進位制表示小於100000000 字母用大寫表示,abcdef,當p為0時,結束輸入。outp...

1118 數制轉換

1118 數制轉換.cpp 定義控制台應用程式的入口點。題目1118 數制轉換 時間限制 1 秒記憶體限制 32 兆特殊判題 否提交 5215解決 2061 題目描述 求任意兩個不同進製非負整數的轉換 2進製 16進製制 所給整數在long所能表達的範圍之內。不同進製的表示符號為 0,1,9,a,b...