用户权利值的算法__教程 |
|
日期:2007-5-15 21:09:23 人气:37 [大 中 小] |
|
|
|
<% '每多一项权利就加上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 " " 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&" "&str1 'return_mylaw=mid(num,1,1) 'return_mylaw=num end function %> |
|
出处:本站原创 作者:佚名 |
|
|