vb判断某一数字某位的值求高手看过别人判
发布网友
发布时间:2022-08-20 03:37
我来回答
共1个回答
热心网友
时间:2023-10-30 18:51
你说的“位”是指二进制的位(bit),还是指十进制的个位、百位、千位这样的位?
如果是前者,可以用位运算来获得,比如:
x = 123
x And 2^0 = 123 And 1 = 1 '第1位为1
x And 2^1 = 123 And 2 = 2 '第2位为1
x And 2^2 = 123 And 4 = 0 '第3位为0
x And 2^3 = 123 And 8 = 8 '第4位为1
x And 2^4 = 123 And 16 = 16 '第5位为1
x And 2^5 = 123 And 32 = 32 '第6位为1
x And 2^6 = 123 And 64 = 64 '第7位为1
x And 2^7 = 123 And 128 = 0 '第8位为0
即123的各位为 01111011 ,这实际上就是123的二进制形式
如果是后者,则:
x = 123
x的个位 = x Mod 10 = 123 Mod 10 = 3
x的十位 = x \ 10 Mod 10 = 123 \ 10 Mod 10 = 12 Mod 10 = 2
x的百位 = x \ 100 = 123 \ 100 = 1