Foxtable(狐表)用户栏目专家坐堂 → 16进制转换问题


  共有3912人关注过本帖树形打印复制链接

主题:16进制转换问题

帅哥哟,离线,有人找我吗?
shyilin6
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:35 积分:294 威望:0 精华:0 注册:2021/7/18 21:37:00
16进制转换问题  发帖心情 Post By:2021/8/1 11:31:00 [只看该作者]

下面这些怎么实现,用步长值为4
【发送1】 00 00 00 05 00 00 00 09
【发送2】 00 00 00 0A 00 00 00 0E 
【发送3】 00 00 00 0F 00 00 00 13 
【发送4】 00 00 00 14 00 00 00 18 
。。。。


连续发送16进制要怎么写?
思路: 循环出用10进制转16进制 发送之前替代进去对应位置? 这样会遇到转换的时候出现前面是0就消失


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/8/1 20:10:00 [只看该作者]

没看懂,贴出代码举例说明一下

 回到顶部
帅哥哟,离线,有人找我吗?
shyilin5
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:17 积分:188 威望:0 精华:0 注册:2020/11/15 17:10:00
  发帖心情 Post By:2021/8/3 20:12:00 [只看该作者]

 Dim st As String =""
Dim i As Integer
For i = 1 To 40 Step 5
    If st>"" Then
        st = st & "," & DecToHex(i)
    Else
        st=DecToHex(i)
    End If
Next
Output.Show(st)
结果是:1,6,B,10,15,1A,1F,24    红字的0没了  有什么办法解决?

 回到顶部
帅哥哟,离线,有人找我吗?
李连山
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:461 积分:5547 威望:0 精华:0 注册:2011/10/24 10:23:00
  发帖心情 Post By:2021/8/3 20:31:00 [只看该作者]

Dim st As String =""
Dim i As Integer
For i = 1 To 1140 Step 5
    If st > "" Then
        If DecToHex(i).Length = 1
            st = st & "," & "0" & DecToHex(i)
        Else
            st = st & "," &  DecToHex(i)
        End If
    Else
       If DecToHex(i).Length = 1
            st =  "0" & DecToHex(i)
        Else
            st =  DecToHex(i)
        End If
    End If
Next

 回到顶部
帅哥哟,离线,有人找我吗?
shyilin5
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:17 积分:188 威望:0 精华:0 注册:2020/11/15 17:10:00
  发帖心情 Post By:2021/8/3 20:54:00 [只看该作者]

 只能这样了,谢谢了

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/8/3 21:07:00 [只看该作者]

或者

Dim st As String =""
Dim i As Integer
For i = 1 To 40 Step 5
    If st>"" Then
        st = st & "," & cstr(DecToHex(i)).PadLeft(2,"0")
    Else
        st=cstr(DecToHex(i)).PadLeft(2,"0")
    End If
Next
Output.Show(st)

 回到顶部
帅哥哟,离线,有人找我吗?
shyilin
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:271 积分:2334 威望:0 精华:0 注册:2016/6/3 8:28:00
  发帖心情 Post By:2021/8/4 10:15:00 [只看该作者]

 Dim st As String =""
Dim st1 As String ="0000000000000000"
Dim i As Integer
Dim i2 As Integer=0
For i = 0 To 40 Step 5
    Dim i1 As Integer =8-cstr(DecToHex(i)).PadLeft(2,"0").Length
    If i2=0 Then
        st= st1.Remove(i1,cstr(DecToHex(i)).PadLeft(2,"0").Length)
        st= st.Insert(i1,cstr(DecToHex(i)).PadLeft(2,"0"))       
    End If
    i2=i2+1
    If i2=1 Then
        Continue For
    End If
    If i2=2 Then
        Dim i3 As Integer =16-cstr(DecToHex(i)).PadLeft(2,"0").Length
        st= st.Remove(i3,cstr(DecToHex(i)).PadLeft(2,"0").Length)
        st= st.Insert(i3,cstr(DecToHex(i)).PadLeft(2,"0"))
        i2=0
    End If
    Output.Show(st)
    st1 ="0000000000000000"
Next


结果:
0000000000000005
0000000A0000000F
0000001400000019
0000001E00000023


我要的结果是

0000000000000005
000000060000000B
0000000C00000011
0000001200000017
请老师帮忙看看呢



 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/8/4 10:23:00 [只看该作者]

Dim st As String =""
Dim i As Integer
For i = 1 To 40 Step 5
    If st>"" Then
        st = st & cstr(DecToHex(i)).PadLeft(8,"0")
        Output.Show(st)
        st = ""
    Else
        st = cstr(DecToHex(i)).PadLeft(8,"0")
    End If
Next

 回到顶部
帅哥哟,离线,有人找我吗?
shyilin
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:271 积分:2334 威望:0 精华:0 注册:2016/6/3 8:28:00
  发帖心情 Post By:2021/8/4 10:55:00 [只看该作者]

您的结果是:
0000000100000006
0000000B00000010
000000150000001A
0000001F00000024
不对

0000000000000005
000000060000000B
0000000C00000011
0000001200000017

红色是  上一次+1

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/8/4 10:58:00 [只看该作者]

自己补上+1的代码

 回到顶部