VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 361|回复: 3

[讨论] 如何将 两个 byte 的低位 转换成一个 十进制

[复制链接]
31_avatar_middle
最佳答案
0 
在线会员 发表于 2019-8-31 18:50:52 | 显示全部楼层 |阅读模式
BYTE bCodeA = 0x34;
BYTE bCodeB = 0x32;

bCodeA  的 低位  bCodeA  & 0x0f
bCodeB  的 低位  bCodeB  & 0x0f


如何取出两个 BYTE 的低位 4 和 2 转换成一个 十进制的  42  ?




上一篇:这个报错的原因是什么
下一篇:学习类的构造函数一课时,显示错误:无法将参数1 从const char [5] 转换为char*?
31_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2019-8-31 18:52:25 | 显示全部楼层
本帖最后由 jzsh 于 2019-8-31 18:54 编辑

char sResult[3];
sprintf(sResult,"%d%d", bCodeA & 0x0f, bCodeB & 0x0f);

输出结果用 atoi 转换是可以的 atoi(sResult);

还有其它方法吗 ?
55_avatar_middle
最佳答案
0 
在线会员 发表于 2019-8-31 20:29:53 | 显示全部楼层
  1. int main()
  2. {
  3.         int a = 0x34 & 0x0F;
  4.         int b = 0x32 & 0x0F;
  5.         int c = a * 10 + b;
  6.         cout << c << endl;

  7.         return 0;
  8. }
复制代码


这样可以了。输出为十进制42.
31_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2019-9-1 18:15:54 | 显示全部楼层
走心的蛋饼 发表于 2019-8-31 20:29
这样可以了。输出为十进制42.

恩,是很简单明了。
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

×【发帖 友情提示】
1、请回复有意义的内容,请勿恶意灌水;
2、纯数字、字母、表情等无意义的内容系统将自动删除;
3、若正常回复后帖子被自动删除,为系统误删的情况,请重新回复其他正常内容或等待管理员审核通过后会自动发布;
4、感谢您对VC驿站一如既往的支持,谢谢合作!

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号 )|网站地图wx_jqr

GMT+8, 2020-10-25 13:17

Powered by CcTry.CoM

© 2009-2020 cctry.com

快速回复 返回顶部 返回列表