日期:2008-10-07  浏览次数:20876 次

<%
'每多一项权利就加上2倍前面权利的权利参数 例:第一项权利参数->1,第二项权利参数->2(即1+1),第三项权利参数->4(即2+2),第四项权利参数->8(即4+4),最多支持31项权限

enable=enable+1 '第1项权利
enable=enable+2 '第2项权利
enable=enable+4 '第3项权利
enable=enable+8 '第4项权利
enable=enable+16 '第5项权利
enable=enable+32 '第6项权利
enable=enable+64 '第7项权利
enable=enable+128 '第8项权利
enable=enable+256 '第9项权利
enable=enable+512 '第10项权利
enable=enable+1024 '第11项权利
enable=enable+2048 '第12项权利
enable=enable+4096 '第13项权利
enable=enable+8192 '第14项权利
enable=enable+16384 '第15项权利
enable=enable+32768 '第16项权利
enable=enable+65536 '第17项权利
enable=enable+131072 '第18项权利
enable=enable+262144 '第19项权利
enable=enable+524288 '第20项权利
enable=enable+1048576 '第21项权利
enable=enable+2097152 '第22项权利
enable=enable+4194304 '第23项权利
enable=enable+8388608 '第24项权利
enable=enable+16777216 '第25项权利
enable=enable+33554432 '第26项权利
enable=enable+67108864 '第27项权利
enable=enable+134217728 '第28项权利
enable=enable+268435456 '第29项权利
enable=enable+536870912 '第30项权利
enable=enable+1073741824 '第31项权利
'再往下加2的32次幂的话就益出了,不只哪位有什么好的解决方法告诉我一下
response.write "您的权利数值为:"&enable
response.write "<br>"
response.write return_mylaw(return_2(enable))
%>


<%
'十进制数转为二进制
function return_2(num)
'num为需被转化为二进制的十进制数
num=cdbl(num)
if not IsNumeric(num) then
return_2="请输入数字!"
response.end
end if
ii=num
value="" '存储模值
for i=1 to ii '默认循环十进制数的值,您可以用for i=1 to fix(ii/2)
value=value&num mod 2
num=fix(num/2)
if num=0 then exit for
next
'return_2=StrReverse(value) '反向输出字符串
return_2=value
end function

'计算拥有哪几项权利值,为1表示拥有相应权利值
function return_mylaw(num)
str=""
str1="您拥有第" '测试时返回中文权限值,您可删掉此行
for i=1 to len(num)
if mid(num,i,1) = 1 then
str=str&i
str1=str1&i&"," '测试时返回中文权限值
end if
next
str1=left(str1,len(str1)-1) '测试时返回中文权限值
str1=str1&"项权限" '测试时返回中文权限值
return_mylaw=str1
'return_mylaw=str&"<br>"&str1
'return_mylaw=mid(num,1,1)
'return_mylaw=num
end function
%>