求助:pb中ascii码转成二进制表示?

justjj2000 2003-08-18 02:41:13
手机短信开发中遇到7-bit编码需通过二进制转换,请大家帮忙!谢谢!
...全文
123 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
incats 2003-08-18
  • 打赏
  • 举报
回复
几个位操作函数:
of_bitor(long al_valuea, long al_valueb)
integer li_Bit, li_Size
long ll_RetValue

li_Size = 2

ll_RetValue = 0

For li_Bit = 0 To 31
If Mod(Long(al_ValueA / 2^li_Bit), 2) > 0 Or Mod(Long(al_ValueB / 2^li_Bit), 2) > 0 Then
If Not Mod(Long(ll_RetValue / 2^li_Bit), 2) > 0 then
ll_RetValue += 2^li_Bit
End If
End If
Next


Return(ll_RetValue)
//////////////////////////////////////////////////////////////
of_bitand(long al_valuea, long al_valueb)
integer li_Bit, li_Size
long ll_RetValue

li_Size = 2

ll_RetValue = 0

For li_Bit = 0 To 31
If Mod(Long(al_ValueA / 2^li_Bit), 2) = Mod(Long(al_ValueB / 2^li_Bit), 2) Then
If Mod(Long(al_ValueA / 2^li_Bit), 2) = 1 then
ll_RetValue += 2^li_Bit
End If
End If
Next

Return(ll_RetValue)
////////////////////////////////////////////////////
of_bitxor(long al_valuea, long al_valueb)
integer li_Bit, li_Size
long ll_RetValue

li_Size = 2

ll_RetValue = 0

For li_Bit = 0 To 31
If not Mod(Long(al_ValueA / 2^li_Bit), 2) = Mod(Long(al_ValueB / 2^li_Bit), 2) Then
ll_RetValue += 2^li_Bit
End If
Next

Return(ll_RetValue)
/////////////////////////////////////////////////
justjj2000 2003-08-18
  • 打赏
  • 举报
回复
没看明白,x是什么?
我的原意是将ascii码转换成二进制表示,然后对它进行位操作。
请给我详细说明一下好吗?谢谢!
incats 2003-08-18
  • 打赏
  • 举报
回复
PB没办法显示二进制, 只能返回字付串:
string s

s = ""
do while true
s = string(mod(x, 2)) + s
x = x / 2
if x <= 1 then exit
loop
s = string(x) + s

return s

1,108

社区成员

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

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