藍芽通訊中會涉及到進製數轉換,高低位 位操作

2021-10-01 10:14:17 字數 1572 閱讀 1624

藍芽傳輸都是16進製制

10進製轉成16進製制 左高(高8位) 右低(低8位)

在進行講解之前,我們先在下面放置乙個對應表,因為在理解下面轉換的時候,你可以隨時檢視該錶。

一、 十進位制與二進位制之間的轉換

(1) 十進位制轉換為二進位制,分為整數部分和小數部分 ① 整數部分 方法:除2取餘法,即每次將整數部分除以2,餘數為該位權上的數,而商繼續除以2,餘數又為上乙個位權上的數,這個步驟一直持續下去,直到商為0為止,最後讀數時候,從最後乙個餘數讀起,一直到最前面的乙個餘數。下面舉例: 例:將十進位制的168轉換為二進位制 得出結果 將十進位制的168轉換為二進位制,(10101000)2 分析:第一步,將168除以2,商84,餘數為0。 第二步,將商84除以2,商42餘數為0。 第三步,將商42除以2,商21餘數為0。 第四步,將商21除以2,商10餘數為1。 第五步,將商10除以2,商5餘數為0。 第六步,將商5除以2,商2餘數為1。 第七步,將商2除以2,商1餘數為0。 第八步,將商1除以2,商0餘數為1。 第九步,讀數,因為最後一位是經過多次除以2才得到的,因此它是最高位,讀數字從最後的餘數向前讀,即10101000 ② 小數部分 方法:乘2取整法,即將小數部分乘以2,然後取整數部分,剩下的小數部分繼續乘以2,然後取整數部分,剩下的小數部分又乘以2,一直取到小數部分 為零為止。如果永遠不能為零,就同十進位制數的四捨五入一樣,按照要求保留多少位小數時,就根據後面一位是0還是1,取捨,如果是零,捨掉,如果是1,向入一位。換句話說就是0舍1入。讀數要從前面的整數讀到後面的整數,下面舉例: 例1:將0.125換算為二進位制 得出結果:將0.125換算為二進位制(0.001)2 分析:第一步,將0.125乘以2,得0.25,則整數部分為0,小數部分為0.25; 第二步, 將小數部分0.25乘以2,得0.5,則整數部分為0,小數部分為0.5; 第三步, 將小數部分0.5乘以2,得1.0,則整數部分為1,小數部分為0.0; 第四步,讀數,從第一位讀起,讀到最後一位,即為0.001。 例2,將0.45轉換為二進位制(保留到小數點第四位) 大家從上面步驟可以看出,當第五次做乘法時候,得到的結果是0.4,那麼小數部分繼續乘以2,得0.8,0.8又乘以2的,到1.6這樣一直乘下去,最後不可能得到小數部分為零,因此,這個時候只好學習十進位制的方法進行四捨五入了,但是二進位制只有0和1兩個,於是就出現0舍1入。這個也是計算機在轉換中會產生誤差,但是由於保留位數很多,精度很高,所以可以忽略不計。 那麼,我們可以得出結果將0.45轉換為二進位制約等於0.0111 上面介紹的方法是十進位制轉換為為二進位制的方法,需要大家注意的是: 1) 十進位制轉換為二進位制,需要分成整數和小數兩個部分分別轉換 2) 當轉換整數時,用的除2取餘法,而轉換小數時候,用的是乘2取整法 3) 注意他們的讀數方向 因此,我們從上面的方法,我們可以得出十進位制數168.125轉換為二進位制為10101000.001,或者十進位制數轉換為二進位制數約等於10101000.0111。 (2) 二進位制轉換為十進位制 不分整數和小數部分 方法:按權相加法,即將二進位制每位上的數乘以權,然後相加之和即是十進位制數。例 將二進位制數101.101轉換為十進位制數。 計算過程:

(1*2+0*2+1*2).(1*2+0*2+1*2)=5.625

從最後一位開始算,依次列為第0、1、2...位 (注意是從第0位開始數的,而不是1)

第n位的數(0或1)乘以2的n次方

得到的結果相加就是答案

運營過程中會涉及到的9個常用搜尋技巧

1.查詢總收錄頁面 site www.123.com 適合所有搜尋引擎,site 和站點名之間不要有空格 2.查詢反向鏈結頁面 baidu 使用 domain www.123.com google 使用 link www.123.com yahoo 直接在 sitemap.cn.yahooo.com...

運營過程中會涉及到的9個常用搜尋技巧

1.查詢總收錄頁面 site www.123.com 適合所有搜尋引擎,site 和站點名之間不要有空格 2.查詢反向鏈結頁面 baidu 使用 domain www.123.com google 使用 link www.123.com yahoo 直接在 sitemap.cn.yahooo.com...

discuz涉及到的問題

其中 設定創始人 config global.php 修改 config admincp founder 1,511314 其中門戶管理中同步登陸 在discuz panel修改 construct將tbl common admincp session表中的 errorcount置為 1 panel...