TC官方合作论坛

 找回密码
 立即注册
查看: 1347|回复: 9
打印 上一主题 下一主题

[问题] 求10进制转16进制方法

[复制链接]
跳转到指定楼层
楼主
发表于 2012-8-10 19:35:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上加入TC

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
TC里面如何将10进制转换成16进制。新人求指教。
回复

使用道具 举报

沙发
发表于 2012-8-10 19:54:27 | 只看该作者
10进制就是16进制,16进制就是10进制,他们都是数字
比如
int i=16
int j=#10
那么 i 是等于 j 的,16数字在内部也会转为10进制计算
回复 支持 反对

使用道具 举报

板凳
 楼主| 发表于 2012-8-10 22:31:28 | 只看该作者
我没有太明白楼上的意思,  能再给说的明细一点吗? 例如:我得到一个 10进制的 数   46073128   ,如何让它在TC中变成  02BF0528 这样显示。
回复 支持 反对

使用道具 举报

地板
 楼主| 发表于 2012-8-11 13:33:18 | 只看该作者
例如:我得到一个 10进制的 数   46073128   ,如何让它在TC中变成  02BF0528 这样显示。 有高手能告诉我,怎么样才能实现吗?
回复 支持 反对

使用道具 举报

5#
发表于 2012-8-11 14:49:00 | 只看该作者
TC貌似没有直接的转换函数,可以自己写个算法,
a =10进制数, a%16作为16进制数的最低位数,
a=10进制数/16,重复上面的求余数操作,每次的余数
作为16进制对应的位数,直至a/16 =0,
将每次得到的余数进行字符拼接就得到16进制的字符型表示了
注意:当余数>9时,
select(余数)
         case 10: 位数="A"
         case 11: 位数="B"
     ......
endselect
回复 支持 反对

使用道具 举报

6#
发表于 2012-8-11 15:39:07 | 只看该作者
你自己写个dll 吧 vb
Public Function 十进制转十六进制(ByVal 欲转换的数 As Long) As Long

    十进制转十六进制 = Hex(欲转换的数)
   
End Function
回复 支持 反对

使用道具 举报

7#
 楼主| 发表于 2012-8-11 18:26:16 | 只看该作者
  还是不会弄!
回复 支持 反对

使用道具 举报

8#
发表于 2012-8-11 19:35:25 | 只看该作者

  1. string strNum,str1
  2. int iNum
  3.         strNum = 编辑框.获得文本("编辑框0")
  4.         iNum = 转换.字符型转整型(strNum,0)
  5.         循环(iNum/16 >= 0)
  6.             select(iNum%16)
  7.                 case 0:
  8.                           str1=str1+"0"
  9.                 case 1:
  10.                           str1=str1+"1"
  11.                 case 2:
  12.                           str1=str1+"2"
  13.                 case 3:
  14.                           str1=str1+"3"
  15.                 case 4:
  16.                           str1=str1+"4"
  17.                 case 5:
  18.                          str1=str1+"5"
  19.                 case 6:
  20.                          str1=str1+"6"
  21.                 case 7:
  22.                          str1=str1+"7"
  23.                 case 8:
  24.                          str1=str1+"8"
  25.                 case 9:
  26.                          str1=str1+"9"
  27.                 case 10:
  28.                          str1=str1+"A"
  29.                 case 11:
  30.                          str1=str1+"B"
  31.                 case 12:
  32.                          str1=str1+"C"
  33.                 case 13:
  34.                          str1=str1+"D"
  35.                 case 14:
  36.                          str1=str1+"E"
  37.                 case 15:
  38.                          str1=str1+"F"               
  39.             endselect
  40.             iNum = iNum/16
  41.             if(iNum == 0)
  42.                 break
  43.             endif
  44.         循环结束
  45.         str1 = 字符串.倒序(str1)
  46.         编辑框.设置文本("编辑框1",str1)
复制代码
回复 支持 反对

使用道具 举报

9#
发表于 2012-8-11 20:09:33 | 只看该作者
10进制转16进制 可以用   字符型 格式字符=字符串.格式化("%x",857)
根本不用那么麻烦
回复 支持 反对

使用道具 举报

10#
 楼主| 发表于 2012-8-12 01:07:06 | 只看该作者
已经用  字符串.格式化解决了。不过还是谢谢 所有人的回答。
回复 支持 反对

使用道具 举报

*滑动验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18043773号

GMT+8, 2025-10-13 05:01 , Processed in 0.130980 second(s), 24 queries .

Powered by 海安天坑软件科技有限公司

© 2001-2013 Comsenz Inc.

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