濮阳杆衣贸易有限公司

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

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

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

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

使用方法:

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

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

復(fù)制代碼 代碼如下:

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

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

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

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

復(fù)制代碼 代碼如下:

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

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

復(fù)制代碼 代碼如下:

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

base64轉(zhuǎn)十進(jìn)制:

復(fù)制代碼 代碼如下:

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

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

復(fù)制代碼 代碼如下:

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

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

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

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

復(fù)制代碼 代碼如下:

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

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

復(fù)制代碼 代碼如下:

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

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

復(fù)制代碼 代碼如下:

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

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

可以通過(guò)定義符:let達(dá)到(()) 運(yùn)算效果。

復(fù)制代碼 代碼如下:

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

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

標(biāo)簽:南充 通遼 青島 延邊 隨州 雅安 西藏 朝陽(yáng)

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Shell腳本中不同進(jìn)制數(shù)據(jù)轉(zhuǎn)換的例子(二進(jìn)制、八進(jìn)制、十六進(jìn)制、base64)》,本文關(guān)鍵詞  Shell,腳本,中,不同,進(jìn)制,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Shell腳本中不同進(jìn)制數(shù)據(jù)轉(zhuǎn)換的例子(二進(jìn)制、八進(jìn)制、十六進(jìn)制、base64)》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于Shell腳本中不同進(jìn)制數(shù)據(jù)轉(zhuǎn)換的例子(二進(jìn)制、八進(jìn)制、十六進(jìn)制、base64)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    二连浩特市| 兴海县| 宜兰市| 武鸣县| 萨迦县| 新晃| 瓮安县| 重庆市| 宣威市| 罗城| 昭通市| 双牌县| 专栏| 嘉兴市| 临泽县| 北碚区| 江都市| 错那县| 乌兰察布市| 长宁区| 襄城县| 平山县| 新兴县| 南木林县| 饶河县| 扎兰屯市| 苍山县| 北海市| 霍山县| 福安市| 大名县| 台东市| 越西县| 桃江县| 万全县| 麦盖提县| 延庆县| 富源县| 临海市| 伊通| 颍上县|