進製表示以及轉換

2022-02-01 10:18:58 字數 1127 閱讀 1835

數的根本乃是對於數量的統計。乙個n進製的數,其核心定義為:

\[[a_\cdots a_a_.a_a_\cdots a_]_ = a_*n^+\cdots +a_*n^+a_*n^+a_*n^ + a_*n^\cdots a_*n^

\]轉換的核心仍然是數的定義,及上述的公式。

\[[a_\cdots a_a_.a_a_\cdots a_]_ = a_*n^+\cdots +a_*n^+a_*n^+a_*n^ + a_*n^\cdots a_*n^

\]如果你能夠以任意進製計算公式右側的數量,那麼恭喜你,你可以不用繼續向下看了,因為你已經完成了對於任意進製之間的轉換,而且十分的高效。

但是,一般人,比如說我,僅僅會以十進位制完成計算,那麼就必須以十進位制為基點(橋梁)來完成其他進製的轉換工作。所以下面的轉換將以十進位制為核心展開。

\[[a_\cdots a_a_.a_a_\cdots a_]_ = a_*n^+\cdots +a_*n^+a_*n^+a_*n^ + a_*n^\cdots a_*n^

\]將十進位制將n進製進行轉換時,需要將概述的整數部分以及小數部分進行分離,因為它們使用的是完全不同的方法,甚至是對立的。

整數部分

\[\begin

&& [m]_ & = [a_\cdots a_a_]_ \\

&& [[m]_ & = a_*n^+\cdots +a_*n^+a_*n^\\

\end

\]我們的目的,就是計算得到 。

需要注意的是:兩側的運算都是十進位制運算。

計算流程為:

上面的方法可以形式化為:

小數部分

\[\begin

&& [m]_ & = [0.a_ a_\cdots a_]_ \\

&& [[m]_ & = a_*n^+a_*n^+\cdots+a_*n^\\

\end

\]我們的目的,就是計算得到 。

需要注意的是:兩側的運算都是十進位制運算。

計算流程為:

引用自:理解進製轉換的原理

python 進製表示和轉換規則

python 進製表示和轉換規則 一 python 內建 轉換函式 bin 轉二進位制 int 轉10進製 oct 轉8進製 hex 轉16進製制 二 每種進製的字串表示有兩種寫法,例如 八進位制引數 017 0o17 二進位制引數 1011 0b1011 十六進製制引數 acb 0xacb 三 進...

進製表示 檔案許可權解讀

1 進製表示 以go語言為例 1 二進位制,用b表示,在go語言中沒有直接定義二進位制變數,不過可以通過byte陣列和string搭配使用解決。fmt.printf b n 11 以二進位制來輸出整型的方式,輸出結果為1011 2 八進位制,用字母o表示,定義變數時字首為0,x 012,就表示x是八...

十六進製制表示法

乙個位元組由8位組成。在二進位制表示法中,他的值域是00000000 11111111 如果看成十進位制整數,他的值域就是0 255 兩種符號表示法對於描述位模式來說都不是非常方便。二進位制表示法太冗長,而十進位制表示法與位模式的相互轉化很麻煩。替代的方法是以16為基數,或者叫做十六進製制 hexa...