最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

十進(jìn)制與BCD碼轉(zhuǎn)換的算法詳解

 更新時(shí)間:2021年09月01日 16:40:51   作者:guanjianhe  
BCD轉(zhuǎn)換成十進(jìn)制 BCD碼是指用二進(jìn)制來(lái)表示十進(jìn)制數(shù)的編碼,即用4位二進(jìn)制來(lái)表示一位十進(jìn)制數(shù),因此4位二進(jìn)制數(shù)表示最大的十進(jìn)制數(shù)9(1001),只取十六個(gè)數(shù)中的十個(gè)數(shù)(有別于8421碼)

手頭上在做的項(xiàng)目需要用到ds1302實(shí)時(shí)時(shí)鐘,ds1302讀出來(lái)的數(shù)據(jù)是BCD碼,需要轉(zhuǎn)換,寫(xiě)入也是。

BCD碼

BCD是指用二進(jìn)制來(lái)表示十進(jìn)制數(shù)的編碼,即用4位二進(jìn)制來(lái)表示一位十進(jìn)制數(shù),因此4位二進(jìn)制數(shù)表示最大的十進(jìn)制數(shù)9(1001),只取十六個(gè)數(shù)中的十個(gè)數(shù)。

比如:

BCD碼:0x99(153),該BCD碼轉(zhuǎn)換成十進(jìn)制是99.

算法原理

十進(jìn)制是逢十進(jìn)一,而十六進(jìn)制是逢十六進(jìn)一,它們之間的每次進(jìn)位差 6 6 ,所以一個(gè)十進(jìn)制數(shù)要轉(zhuǎn)換成BCD碼,要先算清多進(jìn)位的位數(shù),比如,十進(jìn)制99" role="presentation">進(jìn)位了 99/10=9 99 / 10 = 9 次,每次進(jìn)位和十六進(jìn)制進(jìn)位相比差 6 6 ,所以一共差了9×6=54" role="presentation">,即 99+54=153 99 + 54 = 153 (BCD)。BCD碼轉(zhuǎn)化成十進(jìn)制碼也一樣。

代碼

static uint8_t BCD2DEC(uint8_t bcd)  
{  
    return (bcd-(bcd>>4)*6);
}  

static uint8_t DEC2BCD(uint8_t dec)  
{  
    return (dec+(dec/10)*6);
} 

總結(jié)

本篇文章就到這里了,希望能夠給你帶來(lái)幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!

相關(guān)文章

  • C++深入講解引用的特點(diǎn)及與指針的區(qū)別

    C++深入講解引用的特點(diǎn)及與指針的區(qū)別

    引用是C++一個(gè)很重要的特性,顧名思義是某一個(gè)變量或?qū)ο蟮膭e名,對(duì)引用的操作與對(duì)其所綁定的變量或?qū)ο蟮牟僮魍耆葍r(jià),這篇文章主要給大家總結(jié)介紹了C++中引用的相關(guān)知識(shí)點(diǎn),需要的朋友可以參考下
    2022-05-05
  • OpenCV+Qt實(shí)現(xiàn)圖像處理操作工具的示例代碼

    OpenCV+Qt實(shí)現(xiàn)圖像處理操作工具的示例代碼

    這篇文章主要介紹了利用OpenCV+Qt實(shí)現(xiàn)圖像處理操作工具,可以實(shí)現(xiàn)雪花屏、高斯模糊、中值濾波、毛玻璃等操作,感興趣的可以了解一下
    2022-08-08
  • C語(yǔ)言實(shí)現(xiàn)導(dǎo)航功能

    C語(yǔ)言實(shí)現(xiàn)導(dǎo)航功能

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)導(dǎo)航功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • c++實(shí)現(xiàn)逐行讀取配置文件寫(xiě)入內(nèi)存的示例

    c++實(shí)現(xiàn)逐行讀取配置文件寫(xiě)入內(nèi)存的示例

    這篇文章主要介紹了c++實(shí)現(xiàn)逐行讀取配置文件寫(xiě)入內(nèi)存的示例,需要的朋友可以參考下
    2014-05-05
  • C++ 中消息隊(duì)列函數(shù)實(shí)例詳解

    C++ 中消息隊(duì)列函數(shù)實(shí)例詳解

    這篇文章主要介紹了C++ 中消息隊(duì)列函數(shù)實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下
    2017-06-06
  • C++多態(tài)的示例詳解

    C++多態(tài)的示例詳解

    多態(tài)按字面的意思就是多種形態(tài)。當(dāng)類(lèi)之間存在層次結(jié)構(gòu),并且類(lèi)之間是通過(guò)繼承關(guān)聯(lián)時(shí),就會(huì)用到多態(tài)。本文將通過(guò)三個(gè)小案例讓大家更深入的了解一下C++的多態(tài),感興趣的可以了解一下
    2022-06-06
  • C++實(shí)現(xiàn)萬(wàn)年歷功能

    C++實(shí)現(xiàn)萬(wàn)年歷功能

    這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)萬(wàn)年歷功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-10-10
  • C++11線程、互斥量以及條件變量示例詳解

    C++11線程、互斥量以及條件變量示例詳解

    這篇文章主要介紹了C++11線程、互斥量以及條件變量,C++11增加了線程以及線程相關(guān)的類(lèi),很方便地支持了并發(fā)編程,使得編寫(xiě)多線程程序的可移植性得到了很大的提高,本文通過(guò)實(shí)例代碼給大家詳細(xì)講解,需要的朋友可以參考下
    2023-03-03
  • C語(yǔ)言實(shí)現(xiàn)數(shù)字游戲

    C語(yǔ)言實(shí)現(xiàn)數(shù)字游戲

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)數(shù)字游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-01-01
  • 一起來(lái)學(xué)習(xí)C++中remove與erase的理解

    一起來(lái)學(xué)習(xí)C++中remove與erase的理解

    這篇文章主要為大家詳細(xì)介紹了C++的remove與erase,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2022-03-03

最新評(píng)論

新乡市| 汕头市| 高平市| 河东区| 缙云县| 闸北区| 茌平县| 西林县| 洪雅县| 登封市| 呈贡县| 永康市| 左贡县| 安吉县| 青浦区| 游戏| 顺义区| 汉阴县| 江阴市| 清流县| 沙河市| 县级市| 句容市| 云浮市| 西乌珠穆沁旗| 汾阳市| 宁化县| 七台河市| 台山市| 广平县| 盖州市| 常熟市| 北宁市| 琼中| 凌源市| 江山市| 漳浦县| 开鲁县| 东台市| 綦江县| 南宫市|