我们正在尝试使用PHP将VB系统转换为基于web的系统。目前,我们无法理解VB中的几行代码,这使得我们很难将其转换为php。
这是我的VB代码:
Dim data1 As Byte
Dim data1 As Byte
Dim num = 5117
data1 = (num >> 6) And &HFF
data2 = num And &H3F这是我的php代码:
$data1 = ($num >> 6) && &HFF;
$data2 = $num && &H3F;现在的问题是,当我们运行VB代码并输出时,它显示的内容与php中的不同。例如,在vb中,data2显示为61,而在php中显示为1,有人能帮助我们解决这个问题吗?
发布于 2015-06-10 13:35:37
发布于 2015-06-10 09:53:01
在PHP &HFF和&H3F中,不会像您定义的那样被视为Hexadecimal代码。
$data1 = ($num >> 6) && &HFF;
$data2 = $num && &H3F;将产生错误unexpected & ..,您应该尝试-
$data1 = ($num >> 6) && hexdec ('&HFF');
$data2 = $num && hexdec ('&H3F'); hexdec()将十六进制转换为十进制。
但在这种情况下-
$num && hexdec ('&H3F')将返回true。因此,$data1&$data2将包含true。如果你echo他们,你会得到1。
https://stackoverflow.com/questions/30752442
复制相似问题