TC官方合作论坛

标题: 求10进制转16进制方法 [打印本页]

作者: 龙族    时间: 2012-8-10 19:35
标题: 求10进制转16进制方法
TC里面如何将10进制转换成16进制。新人求指教。
作者: TC    时间: 2012-8-10 19:54
10进制就是16进制,16进制就是10进制,他们都是数字
比如
int i=16
int j=#10
那么 i 是等于 j 的,16数字在内部也会转为10进制计算
作者: 龙族    时间: 2012-8-10 22:31
我没有太明白楼上的意思,  能再给说的明细一点吗? 例如:我得到一个 10进制的 数   46073128   ,如何让它在TC中变成  02BF0528 这样显示。
作者: 龙族    时间: 2012-8-11 13:33
例如:我得到一个 10进制的 数   46073128   ,如何让它在TC中变成  02BF0528 这样显示。 有高手能告诉我,怎么样才能实现吗?
作者: loveternity    时间: 2012-8-11 14:49
TC貌似没有直接的转换函数,可以自己写个算法,
a =10进制数, a%16作为16进制数的最低位数,
a=10进制数/16,重复上面的求余数操作,每次的余数
作为16进制对应的位数,直至a/16 =0,
将每次得到的余数进行字符拼接就得到16进制的字符型表示了
注意:当余数>9时,
select(余数)
         case 10: 位数="A"
         case 11: 位数="B"
     ......
endselect

作者: jimye0526    时间: 2012-8-11 15:39
你自己写个dll 吧 vb
Public Function 十进制转十六进制(ByVal 欲转换的数 As Long) As Long

    十进制转十六进制 = Hex(欲转换的数)
   
End Function
作者: 龙族    时间: 2012-8-11 18:26
  还是不会弄!
作者: loveternity    时间: 2012-8-11 19:35

  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)
复制代码

作者: jimye0526    时间: 2012-8-11 20:09
10进制转16进制 可以用   字符型 格式字符=字符串.格式化("%x",857)
根本不用那么麻烦
作者: 龙族    时间: 2012-8-12 01:07
已经用  字符串.格式化解决了。不过还是谢谢 所有人的回答。




欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/) Powered by Discuz! X3.1