将数字4000放入两个字节中

yangscott 2003-10-12 02:47:17
不管用什么方法,将数字4000放入string a*2中.
...全文
79 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
yangjianming0822 2003-11-05
  • 打赏
  • 举报
回复
不好意思,写错了。
Chr
Asc
Mid
后面都要加一个B
yangjianming0822 2003-11-05
  • 打赏
  • 举报
回复
a = Chr(160) & Chr(0) & Chr(0) & Chr(49)
str1 = Asc(Mid(a, 1, 1))
str1 = Asc(Mid(a, 2, 1))
str1 = Asc(Mid(a, 3, 1))
str1 = Asc(Mid(a, 4, 1))
mybyte(0) = Asc(Mid(a, 1, 1))
mybyte(1) = Asc(Mid(a, 2, 1))
mybyte(2) = Asc(Mid(a, 3, 1))
mybyte(3) = Asc(Mid(a, 4, 1))
yangscott 2003-11-05
  • 打赏
  • 举报
回复
up
yangscott 2003-11-05
  • 打赏
  • 举报
回复
up
flyyangmingming 2003-10-15
  • 打赏
  • 举报
回复
mybyte(0)=chrB(160)--A0
mybyte(1)=chrB(0)----00
kmzs 2003-10-12
  • 打赏
  • 举报
回复
啊?这也行???
mmcgzs 2003-10-12
  • 打赏
  • 举报
回复
但是在VB中string*2应该是可以存两个汉字的
mmcgzs 2003-10-12
  • 打赏
  • 举报
回复
高手,学习
rainstormmaster 2003-10-12
  • 打赏
  • 举报
回复
4000的2进制表示为111110100000正好12位,分两段111110(10进制为62),100000(10进制为32),然后取出区位码中对应汉字,只用了1个字符(也可根据base64的编码原理进行编码,2个字符)
Private Sub Command1_Click()
Dim i As Long
Dim mybyte(1) As Byte
i = 4000
mybyte(0) = i And 63
mybyte(1) = i \ 64

MsgBox mybyte(0)
MsgBox mybyte(1)
Dim s As String
s = StrConv(mybyte, vbUnicode)
MsgBox s
End Sub
yangscott 2003-10-12
  • 打赏
  • 举报
回复
结果怎么成"16016"了?
Gelim 2003-10-12
  • 打赏
  • 举报
回复
Private Sub Command1_Click()
Dim i As Long
Dim mybyte(1) As Byte
i = 4000
mybyte(0) = i and 255
mybyte(1) = cbyte(i / 256)

MsgBox cstr(mybyte(0)) & cstr(mybyte(1))
End Sub
yangscott 2003-10-12
  • 打赏
  • 举报
回复
是转化成两个字符.
crystal_heart 2003-10-12
  • 打赏
  • 举报
回复
不可能
rainstormmaster 2003-10-12
  • 打赏
  • 举报
回复
是两个字节还是两个字符?

转为2个字节的

Private Sub Command1_Click()
Dim i As Long
Dim mybyte(1) As Byte
i = 4000
mybyte(0) = i And 255
mybyte(1) = i \ 256
Debug.Print mybyte(1)
Debug.Print mybyte(0)
Dim s As String
s = mybyte
MsgBox s
MsgBox Len(s)
End Sub

7,789

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧