10bit數和12bit數的轉換

2021-07-10 17:45:48 字數 337 閱讀 4913

寫專案**的時候遇到了這個問題,10bit數 xx ***x ***x (1024位)和12bit數***x ***xx ***x (4096位)的轉化。

10bit數的高兩位記為 xy,後八位記為 zzzz zzzz,則這個10bit數是 xy zzzz zzzz。

轉換生成的12bit數為 xyzz zzzz zzxy。相當於把高兩位加到了最後,轉換公式為 num12bit = num10bit *4 + num10bit / 266

反向轉換的話肯定會損失精度,可以把12bit數近似到 xyzz zzzz zzxy 的形式,再轉換。

注:以上轉換都以歸一化為前提。否則這種轉換毫無意義,對吧。

12 整數轉羅馬數和13 羅馬數轉整數

題目的給出了幾種轉換策略,以及在個位是4,6的時候有一些變換。首先乙個整數num的範圍是1 3999,數字的位數情況是 千位,百位,十位,個位。每一位的數字其實就有四種情況,以百位為例 100,300 是一類 400是一類 500,800 是一類 900是一類 整個演算法上沒什麼特別困難的比較好理解...

找出二進位制數中bit為1的最(高 低)索引

題1.給定乙個無符號整型資料 unsigned int 找出其對應二進位制資料中bit位為1的最高 低索引。比如 對於資料0,返回0 資料1,返回1 資料0x80000000,返回32 題2.給定乙個無符號64bit整型資料 unsigned long long int 找出其對應二進位制資料中bi...

練習8 2 計算兩數的和與差 10分

進博主技術群,與大佬交流,領取乾貨學習資料 快速找到所需題目 浙大版c語言程式設計第三版題目集一覽表 本題要求實現乙個計算輸入的兩數的和與差的簡單函式。函式介面定義 void sum diff float op1,float op2,float psum,float pdiff 其中op1和op2是...