Home
Sign Up
Sign In
V2EX
›
问与答
500 与 755 这种权限字符串相与的算法
123123
·
Jul 2, 2015
· 2596 views
This topic created in 4151 days ago, the information mentioned may be changed or developed.
目前我能想到是把这两个每一位展开变成一个二进制数字,然后进行与操作再转换回来。
各位有什么更妙的算法吗?
字符串
相与
二进制
9 replies
•
2015-07-02 18:15:25 +08:00
zhjits
Jul 2, 2015
1
1
itoa(atoi("500")&atoi("755"))
Sunyanzi
Jul 2, 2015
1
2
首先这是八进制 ... 也就是对于 php 而言只要 decoct( 0500 & 0755 ) 就可以了 ...
123123
OP
Jul 2, 2015
3
@
zhjits
位操作基于二进制,单纯转换成 int 的话,500 跟 101000000 又不是等价的
mcone
Jul 2, 2015
4
八进制->十进制->与操作->转回八进制
不过这么做,不一定会比直接取出每一位取与操作要快……
123123
OP
Jul 2, 2015
5
@
zhjits
额,测试一下自己想多了,十进制下位操作结果没问题
imn1
Jul 2, 2015
6
看什么语言吧
例如PHP是可以直接字符串与运算的,但基准是字节对应数字,整数字符串转换为字节对应不难,直接去掉高四位就可以了(字符0的字节二进制是0011 0000)
123123
OP
Jul 2, 2015
7
@
mcone
8进制下直接进行位操作也没问题
exch4nge
Jul 2, 2015
8
@
zhjits
@
123123
十进制下位操作没问题?不是吧
123123
OP
Jul 2, 2015
9
@
exch4nge
目前的使用情况就是跟我主贴中说的展开后再位操作的结果相同
About
·
Help
·
Advertise
·
Blog
·
API
·
FAQ
·
Privacy
·
Solana
·
2541 Online
Highest 6679
·
Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 26ms ·
UTC 11:59
·
PVG 19:59
·
LAX 03:59
·
JFK 06:59
♥ Do have faith in what you're doing.
❯