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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3179|回復: 0
打印 上一主題 下一主題
收起左側

unsigned int to BCD 自己想的,但是效率還是比頂尖高手慢一半

[復制鏈接]
跳轉到指定樓層
樓主
ID:71407 發表于 2014-12-31 00:03 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
  1. 約160個周期,頂尖高手的才70多個周期。(最后附)
  2. /*    unsigned char temp;
  3. D1=D2=D3=D4=D5=0;
  4. temp=((unsigned char *)&value)[0];
  5. if(temp&0x80){D1+=3;D2+=2;D3+=7;D4+=6;D5+=8;}
  6. if(temp&0x40){D1+=1;D2+=6;D3+=3;D4+=8;D5+=4;}
  7. if(temp&0x20){D2+=8;D3+=1;D4+=9;D5+=2;}
  8. if(temp&0x10){D2+=4;D3+=0;D4+=9;D5+=6;}
  9. if(temp&0x08){D2+=2;D3+=0;D4+=4;D5+=8;}
  10. if(temp&0x04){D2+=1;D3+=0;D4+=2;D5+=4;}
  11. if(temp&0x02){D3+=5;D4+=1;D5+=2;}
  12. if(temp&0x01){D3+=2;D4+=5;D5+=6;}
  13. temp=((unsigned char *)&value)[1];
  14. if(temp&0x80){D3+=1;D4+=2;D5+=8;}
  15. if(temp&0x40){D4+=6;D5+=4;}
  16. if(temp&0x20){D4+=3;D5+=2;}
  17. if(temp&0x10){D4+=1;D5+=6;}
  18. if(temp&0x08){D5+=8;}
  19. if(temp&0x04){D5+=4;}
  20. if(temp&0x02){D5+=2;}
  21. if(temp&0x01){D5+=1;}

  22. /* while(D5>=10){D5-=10;D4++;}
  23. while(D4>=10){D4-=10;D3++;}
  24. while(D3>=10){D3-=10;D2++;}
  25. while(D2>=10){D2-=10;D1++;}
  26. if(D5>=10){D4+=D5/10;D5=D5%10;}
  27. if(D4>=10){D3+=D4/10;D4=D4%10;}
  28. if(D3>=10){D2+=D3/10;D3=D3%10;}
  29. if(D2>=10){D1+=D2/10;D2=D2%10;}

  30. while(value>=1000){D1++;value=value-1000;}
  31. while(value>=100){D2++;value=value-100;}
  32. while(value>=10){D3++;value=value-10;}
  33. D4=value;*/


  34. 這個才70多周期
  35. void show_value(unsigned int x)
  36. {
  37.   unsigned char i,j,k;    //臨時變量
  38.   k = x;
  39.   x = x >> 2;
  40.   i = x >> 8;
  41.   j = (i + i + i) << 1;
  42.   if (i > 41)
  43.     {
  44. i++;
  45. j+=6;
  46. }
  47.   j = j + x;
  48.   if ((unsigned char)x > j )
  49.     {
  50. i++;
  51. j+=6;
  52. }
  53.   if (j > 249)
  54.     {
  55. i++;
  56. j+=6;
  57. }
  58.   D1 = i / 10;                  //分離得到的萬(10000)位
  59.   D2 = B;                       //分離得到的千(1000)位
  60.   D3 = j / 25;                  //分離得到的百(100)位
  61.   D4 = (B<<2 | k&3) / 10;       //分離得到的十(10)位
  62.   D5 = B;                       //分離得到的個(1)位
  63. }
復制代碼


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久久久久久久综合 | 91看片在线观看 | 国内在线视频 | 中文字幕第一页在线 | 99精品国产一区二区三区 | 久久久久久黄 | 99精品久久久 | 日韩欧美亚洲 | 国产午夜精品视频 | 五月激情婷婷在线 | 亚洲免费一区二区 | 欧美亚洲综合久久 | 欧美a在线 | 国产精品久久国产精品 | 亚州精品天堂中文字幕 | 久热国产精品视频 | 国产欧美日韩久久久 | 国产色婷婷精品综合在线播放 | 久久精品1| 精品一区二区在线观看 | 国产中文在线观看 | 欧美精品成人一区二区三区四区 | 成人免费视频网站在线看 | 正在播放国产精品 | 精品欧美一区免费观看α√ | 亚洲综合在线网 | 午夜无码国产理论在线 | 成人免费精品视频 | 91av导航 | 欧美一区二区三区小说 | 亚洲精品日本 | 91久久久久 | 在线中文字幕第一页 | 欧美一区二区三区在线视频 | 亚洲成人动漫在线观看 | 一区二区三区视频免费看 | 亚洲欧美在线视频 | 国产97色 | 久久99深爱久久99精品 | 在线免费观看成年人视频 | 色综合久久久久 |