二进制转BCD码
来源:互联网 发布:管理者心态管理知乎 编辑:程序博客网 时间:2024/05/22 14:11
二进制转BCD码, 进而可以转为十进制字符串表示.
这里采用"移位加三"方法, 也叫"Double Dabble 算法". https://en.wikipedia.org/wiki/Double_dabble
template<size_t _BITS>std::vector<unsigned char> bcd( const std::bitset<_BITS>& bits ){ std::vector<unsigned char> buf; buf.push_back( 0 ); for( auto i = bits.size(); i-- != 0; ) { int carries0 = bits.test( i ) ? 1 : 0; for( auto& n : buf ) { if( ( n & 0xf0 ) >= 0x50 ) { n += 0x30; } if( ( n & 0x0f ) >= 5 ) { n += 3; } int carries1 = n > 127 ? 1 : 0; n <<= 1; n |= carries0; carries0 = carries1; } if( carries0 != 0 ) { buf.push_back( 1 ); } } return buf;}
0 0
- 二进制转BCD码
- 32位二进制数转BCD码
- 硬件算法__二进制转BCD码
- 硬件算法__二进制转BCD码
- 二进制与BCD码转换
- Bcd码与二进制区别
- fpga 二进制转bcd码 模块(经典)
- 2014-3-16 FPGA学习 二进制转8421BCD码
- 80x86 汇编语言编程:BCD 码转二进制
- verilog二进制转BCD码(加三移位法)
- 浅谈二进制转BCD码(加三移位法)
- C语言之linux内核--BCD码转二进制与二进制转BCD码(笔试经典)
- 什么是BCD码?BCD码的用处。怎么把BCD码转换成二进制值?
- 一种用verilog生成任意位二进制转BCD码的方法
- 二进制码转BCD码
- BCD码转换成二进制和ASCII码
- 二进制数转化为8421BCD码的C++程序
- java ASCII码转BCD码 BCD码转字符串
- Maven 的Could not calculate build plan错误解决方法(不一定适用,看原因)
- Android软键盘状态弹出与消失
- 第十天作业2
- 乌邦图中安装和配置vsftp
- Python自然语言处理(一)--利用NLTK自带方法完成NLP基本任务
- 二进制转BCD码
- (效率解读)Spring Framework 六大模块简介
- android ui调试工具
- 如何使用 D3 在地图上实现实时画圈的效果
- spark on yarn部署
- GCC选项 –I,-l,-L
- C++11新特性
- [目标检测]windows下实现c++版faster-rcnn
- C# base 关键字