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...