單片機中數制與數制的轉換是怎樣算出來的?

單片機中數制與數制的轉換是怎樣算出來的?

1.數制

數制就是數的進位制。日常生活中經常會接觸到0、7、8、9、168、295等這樣的數字,它們的進位製為十進制。另外,還有二進制和十六進制等。

單片機中數制與數制的轉換是怎樣算出來的?

(1)十進制數

十進制數有以下特點。

① 有 10 個不同的數碼:0、1、2、3、4、5、6、7、8、9。任意一個十進制數均可以由這 10個數碼組成。

② 遵循“逢十進一”的計數原則。

對於任意一個十進制數N,它都可以表示成:

單片機中數制與數制的轉換是怎樣算出來的?

式中:m 和 n 為正整數;an−1,an−2,…,a−m稱為數碼;10 稱作基數;10n−1,10n−2,…,10−m是各位數碼的“位權”。

例如:根據上面的方法可以將十進制數 3259.46 表示為 3259.46=3×103+2×102+5×101+9×100+4×10−1+6×10−2。

(2)二進制數

十進制是最常見的數制,此外,還有二進制、八進制、十六進制等。在數字電路中,二進制用得最多。

1)二進制數的特點

二進制數有以下特點。

① 有兩個數碼:0和1。任何一個二進制數都可以由這兩個數碼組成。

② 遵循“逢二進一”的計數原則。

對於任意一個二進制數N,它都可以表示成:

單片機中數制與數制的轉換是怎樣算出來的?

式中:m和n為正整數;an−1,an−2,…,a−m稱為數碼;2稱作基數;2n−1,2n−2,...,2−m是各位數碼的“位權”。

例如:二進制數11011.01可表示為11011.01B=1×24+1×23+0×22+1×21+1×20+0×2−1+1×2−2。

注:為了說明數據為二進制數,一般在數據後加上“B”,十六進制數加上“H”。

2)二進制數的四則運算。

① 加法運算。加法運算的法則是:“逢二進一”。具體有:

單片機中數制與數制的轉換是怎樣算出來的?

當遇到“1+1”時向相鄰高位進1。

例如:求1011B+1011B=?可以用與十進制數相同的豎式計算

單片機中數制與數制的轉換是怎樣算出來的?

即1011B+1011B=10110B

② 減法運算。減法運算的法則是:“借一當二”。具體有:

單片機中數制與數制的轉換是怎樣算出來的?

當遇到“0−1”時,需向高位借1當2用。

例如:求1100B−111B=?

單片機中數制與數制的轉換是怎樣算出來的?

即1100B−111B=101B

③ 乘法運算。乘法運算的法則是:“各數相乘,再作加法運算”。具體有:

例如:求1101B×101B=?

單片機中數制與數制的轉換是怎樣算出來的?

即1101B×101B=1000001B

④ 除法運算。除法運算的法則是:“各數相除,再作減法運算”。具體有:

單片機中數制與數制的轉換是怎樣算出來的?

例如:求1111B÷101B=?

單片機中數制與數制的轉換是怎樣算出來的?

即1111B÷101B=11B

(3)十六進制數

十六進制數有以下特點。

① 有16個數碼:0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F。這裡的A、B、C、D、E、F分別代表10、11、12、13、14、15。

② 遵循“逢十六進一”的計數原則。

對於任意一個十六進制數N,它都可以表示成:

單片機中數制與數制的轉換是怎樣算出來的?

式中:m 和 n 為正整數;an−1,an−2,…,a−m稱為數碼;16 稱作基數;16n−1,16n−2,…,16−m是各位數碼的“位權”。

例如:十六進制數3A6.DH可表示為3A6.DH=3×162+10×161+6×160+13×16−1。

單片機中數制與數制的轉換是怎樣算出來的?


分享到:


相關文章: