请问高手:如何把IP地址转化为32位的整数???急呀!在线等!!

ypkong 2002-11-07 01:42:22
如IP地址字符串为:192.123.1.78 如何转化为32位的整数?请高手写下实现的源代码!
...全文
499 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
ypkong 2002-11-07
  • 打赏
  • 举报
回复
先谢了,我去是试试。
qiushuiwuhen 2002-11-07
  • 打赏
  • 举报
回复
Private Function Str2Num(strIp)
Dim arr,i,ret
arr=split(strIp,".")
ret=0
For i=0 to ubound(arr)
ret =ret * 256 +CInt(arr(i))
Next
Str2Num=ret
End Function
Response.Write Str2Num("192.123.1.78")
qiushuiwuhen 2002-11-07
  • 打赏
  • 举报
回复
Private Function Str2Num(strIp)
Dim arr,i
arr=split(strIp,".")
For i=0 to ubound(arr)
arr(i)=Hex(CInt(arr(i)))
Next
Str2Num=join(arr,"")
End Function
Response.Write Str2Num("192.123.1.78")
ypkong 2002-11-07
  • 打赏
  • 举报
回复
如何转化为十六进制?
LoneHome 2002-11-07
  • 打赏
  • 举报
回复
十进制(10位整数):192*256^3+123*256^2+1*256+78=3,229,286,734
二进制(32位整数):192.123.1.73
11000000 01111011 00000001 01001001
ypkong 2002-11-07
  • 打赏
  • 举报
回复
tocshadow(影子) :是转化为dword.我写错了。不好意思。
qiushuiwuhen 2002-11-07
  • 打赏
  • 举报
回复
Private Function Str2Num(strIp)
Dim arr,i
arr=split(strIp,".")
For i=0 to ubound(arr)
arr(i)=Num2Str(CInt(arr(i)),2,8)
Next
Str2Num=join(arr,"")
End Function
Private Function Num2Str(num,base,lens)
'qiushuiwuhen (2002-8-12)
dim ret
ret = ""
while(num>=base)
ret = (num mod base) & ret
num = (num - num mod base)/base
wend
Num2Str = right(string(lens,"0") & num & ret,lens)
End Function

Response.Write Str2Num("192.123.1.78")
freefalcon 2002-11-07
  • 打赏
  • 举报
回复
先提供思路:
以.号为界,将ip的4个字段分别转化成整数;
然后将各部分各自乘以对应的阶,再把结果相加
cshadow 2002-11-07
  • 打赏
  • 举报
回复
32位的整数?

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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