進制與編碼的轉換
1、10進制轉化到二進制
整數部分除以2,先得到的0或1位級別越低。
小數部分不斷乘以2,不斷截取整數部分,先得到的整數的0或1越靠近小數點。
2、二進制轉化為8進制
以小數點為中心,向左向右每3位划分成一個分組,之后直接轉化成對應的十進制數,組合后得到8進制數。
3、二進制轉化為16進制
以小數點為中心,向左向右每4位划分成一個分組,之后直接轉化成對應的十進制數,組合后得到8進制數。
4、10進制轉化成為8421BCD碼
直接將10進制數的每一個數字用各自的4位二進制來表示
5、10進制轉化成余3碼
先將10進制數的每一個數字都+3,然后將每一個數字用各自的4位二進制表示。
6、非十進制轉化成十進制數
將非十進制數寫成按權展開式,並按照十進制計算結果,結果就是對應的十進制數。
7、二進制碼轉化成奇偶校驗碼
對於一個二進制信息碼,在其最前方新增一個校驗位:
奇校驗:如果信息碼中有奇數個1,則校驗位填0,否則填1
偶校驗:如果信息碼中有偶數個1,則校驗位填0,否則填1
8、十進制轉化成格雷碼
格雷碼的編碼中,相鄰兩個代碼之間只有一個二進制位的差異。
具體的代碼生成過程在ACM訓練賽中已經見過,不再贅述。