主頁 > 知識庫 > Shell腳本中不同進制數(shù)據(jù)轉(zhuǎn)換的例子(二進制、八進制、十六進制、base64)

Shell腳本中不同進制數(shù)據(jù)轉(zhuǎn)換的例子(二進制、八進制、十六進制、base64)

熱門標簽:地圖標注超出范圍怎么辦 百度地圖的地圖標注 excel地址地圖標注 東莞電銷機器人價格一覽表 陜西電銷卡外呼系統(tǒng)怎么安裝 百度地圖標注圖標更換 杭州機器人外呼系統(tǒng) 佛山高德地圖標注中心 旅游地圖標注大全

shell可以在不調(diào)用第3方命令,表示不同進制數(shù)據(jù)。這里總結(jié)以下表示方法。shell 腳本默認數(shù)值是由10 進制數(shù)處理,除非這個數(shù)字某種特殊的標記法或前綴開頭. 才可以表示其它進制類型數(shù)值。如:以 0 開頭就是 8 進制.以0x 開頭就是16 進制數(shù).使用 BASE#NUMBER 這種形式可以表示其它進制.BASE值:2-64.

使用方法:

其它進制轉(zhuǎn)為10進制

八進制轉(zhuǎn)十進制:

復制代碼 代碼如下:

[chengmo@centos5 ~]$ ((num=0123));
[chengmo@centos5 ~]$ echo $num;
83

[chengmo@centos5 ~]$ ((num=8#123));
[chengmo@centos5 ~]$ echo $num;   
83

((表達式)),(())里面可以是任意數(shù)據(jù)表達式。如果前面加入:”$”可以讀取計算結(jié)果。

十六進制轉(zhuǎn)十進制:

復制代碼 代碼如下:

[chengmo@centos5 ~]$ ((num=0xff));
[chengmo@centos5 ~]$ echo $num;   
255
[chengmo@centos5 ~]$ ((num=16#ff));
[chengmo@centos5 ~]$ echo $num;   
255

base-32轉(zhuǎn)十進制:

復制代碼 代碼如下:

[chengmo@centos5 ~]$ ((num=32#ffff));
[chengmo@centos5 ~]$ echo $num;     
507375

base64轉(zhuǎn)十進制:

復制代碼 代碼如下:

[chengmo@centos5 ~]$ ((num=64#abc_));
[chengmo@centos5 ~]$ echo $num;      
2667327

二進制轉(zhuǎn)十進制

復制代碼 代碼如下:

[chengmo@centos5 ~]$ ((num=2#11111111)); 
[chengmo@centos5 ~]$ echo $num;
255

十進制轉(zhuǎn)為其它進制

十進制轉(zhuǎn)八進制

這里使用到:bc外部命令完成。bc命令格式轉(zhuǎn)換為:echo "obase=進制;值"|bc

復制代碼 代碼如下:

[chengmo@centos5 ~]$ echo "obase=8;01234567"|bc
4553207

二進制,十六進制,base64轉(zhuǎn)換為 十進制也相同方法。

復制代碼 代碼如下:

[chengmo@centos5 ~]$ echo "obase=64;123456"|bc 
30 09 00

shell,內(nèi)置各種進制表示方法非常簡單。記得base#number 即可。這里記得賦值時候用(())符號。不能直接用=號了。=號沒有值類型。默認將后面變成字符串了。如:

復制代碼 代碼如下:

[chengmo@centos5 ~]$ num=0123;
[chengmo@centos5 ~]$ echo $num;
0123

0開頭已經(jīng)失去了意義了。

可以通過定義符:let達到(()) 運算效果。

復制代碼 代碼如下:

[chengmo@centos5 ~]$ let num=0123;
[chengmo@centos5 ~]$ echo $num;  
83

有其它更好方法,朋友們可以與我分享一下。

標簽:南充 通遼 青島 延邊 隨州 雅安 西藏 朝陽

巨人網(wǎng)絡通訊聲明:本文標題《Shell腳本中不同進制數(shù)據(jù)轉(zhuǎn)換的例子(二進制、八進制、十六進制、base64)》,本文關鍵詞  Shell,腳本,中,不同,進制,;如發(fā)現(xiàn)本文內(nèi)容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Shell腳本中不同進制數(shù)據(jù)轉(zhuǎn)換的例子(二進制、八進制、十六進制、base64)》相關的同類信息!
  • 本頁收集關于Shell腳本中不同進制數(shù)據(jù)轉(zhuǎn)換的例子(二進制、八進制、十六進制、base64)的相關信息資訊供網(wǎng)民參考!
  • 推薦文章