求把一个二进制第N位成为0或是1的算法
求把一个二进制第N位变为0或是1的算法如1101 到 1001 再到 1011[解决办法]错了。置1和只有某位是1的数据按
求把一个二进制第N位变为0或是1的算法
如1101 到 1001 再到 1011
[解决办法]
错了。
置1和只有某位是1的数据按位或就可以了。
置0和只有某位是0的数据按位与就可以了。
[解决办法]
x86上也有相应的bit设置1、0的指令:
function SetBit(const X, N: integer): integer;
asm
bts eax,edx
end;
function ResetBit(const X, N: integer): integer;
asm
btr eax,edx
end;
平台无关的实现你也可以自己写出来。