久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2615|回復(fù): 1
收起左側(cè)

奇偶位計(jì)算請問有什么好方法能實(shí)現(xiàn)

[復(fù)制鏈接]
ID:12816 發(fā)表于 2015-9-30 19:41 | 顯示全部樓層 |閱讀模式
最近在研究ID卡讀寫請問有什么好方法能實(shí)現(xiàn)將 五個(gè)字節(jié)的十六進(jìn)制每半個(gè)字節(jié)計(jì)算出其對應(yīng)的奇偶位,然后將每半個(gè)字節(jié)加奇偶位共 5BIT排列成十行再對每列奇偶位計(jì)算,
最后在得到的55BIT前面加上 9個(gè)1 共得到 64BIT再每8BIT為一個(gè)字節(jié)分成8個(gè)字節(jié)的十六進(jìn)制數(shù)呢?謝謝!
例子:
              //如下為 ID = 3000F94989 轉(zhuǎn)碼過程
                      111111111 --->九個(gè)頭
                                       0011        0              3
                                       0000        0              0

                                   ---------------------------------------  
                                       0000        0              0  
                                       0000        0              0   

                                ------------------------------------------
                                       1111        0              F
                                       1001        0              9

                          --------------------------------------------------
                                       0100        1              4
                                       1001        0              9

                             -------------------------------------------------
                                       1000        1              8
                                       1001        0              9  

                           ---------------------------------------------      
                                       1001        0      --->列奇偶位

轉(zhuǎn)換結(jié)果為:0XFF / 0X98 / 0X00 / 0X07 / 0XA4 / 0X99 / 0X46 / 0X52

相關(guān)帖子

回復(fù)

使用道具 舉報(bào)

ID:12816 發(fā)表于 2015-10-1 10:29 | 顯示全部樓層
昨晚我也搞掂了,也是有很多行語句呀
void clqo()//行列奇偶位計(jì)算 并將五個(gè)字節(jié)的十六進(jìn)制轉(zhuǎn)為卡的9個(gè)頭及奇偶位共64位即 八個(gè)字節(jié)的十六進(jìn)制數(shù)據(jù)
{
        uchar kk;
        for(kk = 0;kk < 5;kk++)//將五個(gè)字節(jié)的十六進(jìn)制分開半個(gè)字節(jié)
        {
                Buf_RF_Data[kk * 2 + 0] = ID_Code[kk] >> 4;
                Buf_RF_Data[kk * 2 + 1] = ID_Code[kk] & 0x0F;        
        }               
        for(kk = 0;kk < 10;kk++)//計(jì)算每半個(gè)字節(jié)的奇偶位
        {
                Buf_RF_Data[kk] &= 0x0F; //先屏蔽高4位
                if(((Buf_RF_Data[kk] >> 3) + (Buf_RF_Data[kk] >> 2) + (Buf_RF_Data[kk] >> 1) + (Buf_RF_Data[kk] & 0x01)) % 2)
                {
                        Buf_RF_Data[kk] <<= 1;
                        Buf_RF_Data[kk] |= 1;
                }
                else //為偶數(shù)個(gè) 1 則補(bǔ) 0
                {
                        Buf_RF_Data[kk] <<= 1;
                }
        }
        for(kk = 4;kk > 0;kk--)//列奇偶位
        {
                Buf_RF_Data[kk] &= 0x1F; //先屏蔽高3位
                if(((Buf_RF_Data[0] >> kk) + (Buf_RF_Data[1] >> kk) + (Buf_RF_Data[2] >> kk) + (Buf_RF_Data[3] >> kk) + (Buf_RF_Data[4] >> kk)
                + (Buf_RF_Data[5] >> kk) + (Buf_RF_Data[6] >> kk) + (Buf_RF_Data[7] >> kk) + (Buf_RF_Data[8] >> kk) + (Buf_RF_Data[9] >> kk)) % 2)
                {
                        Buf_RF_Data[10] |= 1;
                        Buf_RF_Data[10] <<= 1;
                }
                else //為偶數(shù)個(gè) 1 則補(bǔ) 0
                {
                        Buf_RF_Data[10] <<= 1;
                }        
        }        
        Buf_RF_Data[0] <<= 2;
        Buf_RF_Data[0] |= 0x80;
        Buf_RF_Data[0] |= Buf_RF_Data[1] >> 3;
        
        Buf_RF_Data[1] <<= 5;
        Buf_RF_Data[1] |= Buf_RF_Data[2];
        
        Buf_RF_Data[2] <<= 3;
        Buf_RF_Data[2] |= Buf_RF_Data[4] >> 2;
        
        Buf_RF_Data[3] = Buf_RF_Data[4] << 6;
        Buf_RF_Data[3] |= Buf_RF_Data[5] << 1;
        Buf_RF_Data[3] |= Buf_RF_Data[6] >> 4;
        
        Buf_RF_Data[4] = Buf_RF_Data[6] << 4;
        Buf_RF_Data[4] |= Buf_RF_Data[7] >> 1;
        
        Buf_RF_Data[5] = Buf_RF_Data[7] << 7;
        Buf_RF_Data[5] |= Buf_RF_Data[8] << 2;
        Buf_RF_Data[5] |=  Buf_RF_Data[9] >> 3;
        
        Buf_RF_Data[6] = Buf_RF_Data[9] << 5;
        Buf_RF_Data[6] |= Buf_RF_Data[10];
        
        for(kk = 7;kk > 0;kk--)
        {
                Buf_RF_Data[kk] = Buf_RF_Data[kk - 1];
        }
        Buf_RF_Data[0] = 0xFF;                //9個(gè)頭中的前8個(gè)1
        Buf_RF_Data[8] = Buf_RF_Data[9] = Buf_RF_Data[10] = 0;//這個(gè)可以不清 0
}
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 成人免费视频观看视频 | 精品免费视频 | 91pao对白在线播放 | 日韩精品一区二区三区中文字幕 | 国产精品一区二区av | 国产午夜精品久久久久免费视高清 | 精品国产伦一区二区三区观看体验 | 久久不卡视频 | 91麻豆精品国产91久久久久久 | 黄色国产大片 | 亚洲国产精品成人 | 久在线观看 | 亚洲成人免费观看 | 91九色婷婷| 久草热8精品视频在线观看 午夜伦4480yy私人影院 | 亚洲免费精品 | 国产成人精品综合 | 在线成人av| 免费看av大片 | 精品久久久久久久久久 | 999精品在线观看 | 亚洲视频中文字幕 | 亚洲精品一区二区在线观看 | 最新国产精品 | 中文字字幕在线中文乱码范文 | 日韩久久久久久 | 天天操天天干天天爽 | 99久久久久久99国产精品免 | 九九热国产视频 | 中文字幕国产视频 | 久久久久国产一级毛片高清网站 | 天天综合久久 | 神马久久久久久久久久 | 视频一二区| 欧美视频在线一区 | 2021天天干夜夜爽 | 日韩精品欧美精品 | 天天干天天操天天看 | 久久网一区二区 | 日本黄色一级片视频 | 毛片免费看 |