VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 769|回复: 6

[求助] 跪求那位大神帮个忙

[复制链接]
02_avatar_middle
online_vip 发表于 2016-4-24 00:08:05 | 显示全部楼层 |阅读模式
本帖最后由 啥都不懂 于 2016-4-24 00:50 编辑

实现这样的功能用C++
image.png
QQ图片20160424005004.png
QQ图片20160424005010.png




上一篇:VS2015安装问题
下一篇:秘钥,加密证书,签名什么意思,有什么区别
51_avatar_middle
online_admins 发表于 2016-4-24 01:45:02 | 显示全部楼层
啥都不懂 发表于 2016-4-24 00:49
就是先把输入的数字转换成16进制然后两位两位倒叙按照要求保留几位数

跟楼主QQ沟通了下,明白题目的意思了:
跪求那位大神帮个忙
上面截图中的数据是十进制的,转换成十六进制是:
跪求那位大神帮个忙

然后两位两位倒叙就是41420F,如果要求保留4位数就是4142了,如果要求保留6位数就是41420F,保留8位就是41420F00

根据这个需求简单些写了个小算法,功能是实现了,有些异常可能没有判断,楼主再完善完善吧。
  1. CString TransFunc(CString strDec, UINT nCount)
  2. {
  3.         long decValue = _ttol(strDec);
  4.         TCHAR szBuffer[MAX_PATH] = { 0 };
  5.         _stprintf(szBuffer, _T("%x"), decValue);

  6.         CString strText(szBuffer);
  7.         if (strText.GetLength() % 2 != 0) strText = _T("0") + strText;

  8.         CString strResult;
  9.         for (int idx = 0; idx < strText.GetLength(); idx += 2)
  10.         {
  11.                 strResult = strText.Mid(idx, 2) + strResult;
  12.         }

  13.         int zeroAppend = nCount - strResult.GetLength();
  14.         if (zeroAppend > 0)
  15.         {
  16.                 for (int pdx = 0; pdx < zeroAppend; ++pdx)
  17.                 {
  18.                         strResult += _T("0");
  19.                 }
  20.                 return strResult;
  21.         }
  22.         else{
  23.                 return strResult.Left(nCount);
  24.         }
  25. }
复制代码


调用方式:
  1. CString str = TransFunc(_T("1000001"), 6);
复制代码

点评

老大厉害啊!  发表于 2016-4-24 13:13
14_avatar_middle
online_supermod 发表于 2016-4-24 00:21:30 | 显示全部楼层
这是进制转换吧,但是看不懂什么转换4位数会等于4142
02_avatar_middle
ico_lz  楼主| 发表于 2016-4-24 00:32:25 | 显示全部楼层
venblue 发表于 2016-4-24 00:21
这是进制转换吧,但是看不懂什么转换4位数会等于4142

是的转换成16进制在2位2位反转按照输入的数字保留位数
02_avatar_middle
ico_lz  楼主| 发表于 2016-4-24 00:49:17 | 显示全部楼层
venblue 发表于 2016-4-24 00:21
这是进制转换吧,但是看不懂什么转换4位数会等于4142

跪求那位大神帮个忙就是先把输入的数字转换成16进制然后两位两位倒叙按照要求保留几位数
14_avatar_middle
online_supermod 发表于 2016-4-24 10:00:13 | 显示全部楼层
Syc 发表于 2016-4-24 01:45
跟楼主QQ沟通了下,明白题目的意思了:

上面截图中的数据是十进制的,转换成十六进制是:

哎呦想了半天根本想不出他后面两位倒序想表达的意思,到底是转换前倒序还是转换后倒序,还是老师厉害问出了问题的关键
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

关闭

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

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

GMT+8, 2019-8-21 05:48

Powered by Discuz! X3.4

© 2009-2019 cctry.com

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