使用 bc 進行進製轉換

2021-06-23 04:15:27 字數 1215 閱讀 8140

使用 bc 進行進製轉換

在 shell

中進行進製轉換的另乙個訣竅是使用bc,它是一種任意精度運算語言,大多數 unix/linux

安裝程式都提供。因為它允許您指定輸出進製,所以當您需要以十進位制以外的進製輸出時,這是一種很好的技術。

bc的特殊變數ibaseobase分別包含用於輸入和輸出的進製的值。預設情況下,都被設定為 10。要執行進製轉換,需要改變其中的乙個或兩個值,然後提供乙個數字。立即嘗試,如清單 8 中所示。

清單 8. 使用 bc 執行進製轉換

$bc -ql
10
10
obase=16
10
a
ibase=2
10
2

要快速執行進製轉換,可以聯合使用bcecho形成快捷的單命令列程式,將給定的值通過管道傳輸給bc。鍵入清單 9 中顯示的內容。

清單 9. shell 單命令列 bc 程式

$echo 'obase=16; 47' | bc2f
$echo 'obase=10; ibase=16; a03' | bc2563

警告:當您設定bc的輸入進製以後,輸入bc的所有數字都使用該進製,包括您提供用於設定輸出進製的數字。因此最好先設定輸出進製,否則可能會產生意想不到的結果,如清單 10 中所示。

清單 10. 設定輸入和輸出進製的先後順序的重要性

$echo 'ibase=16; obase=10; a' | bca
$echo 'ibase=16; obase=a; a' | bc10

查表法進行 進製轉換

我就用絕招試試手 1.什麼是查表法 通過容器將對應的關係進行儲存。通過運算得出相應關係中的其中一方的結果,再通過這個結果去容器中找對應的另乙個內容。可以這樣理解 在庫房裡有六個箱子,對每箱子都進行了編號,當我們要找某個箱子時,可以根據對應的編號到庫房裡去找相應的箱子!2.查表法的特點 a 有對應的關...

用批處理進行進製轉換

echo off setlocal enabledelayedexpansion set p a 請輸入要轉換的十進位制數 set aa a set p b 請輸入要轉換的幾進製?set str 0123456789abcde hex set a m a b set a n a b set n st...

Java查表法進行進製轉換

語言也是這樣,它們也有著查表的方法,因為這樣使它更加簡單,更加容易讓人理解,當程式寫的一塌糊塗時,真的是很難再拾起來,所以簡單對程式設計師來說,就是天大的樂事!今天我帶來的就是福音,就是用天天幹的查表法來實現進製準換,下面就是激動人心的 部分 class arraytest7 十進位制 二進位制 p...