今天介绍的功能需要用到本人之前所写的位操作功能(见本人之前的博文)
--将数据的第 n 位置为 非
--先判断数字 a 的第 n 位是否为 1:
alter function G3(@a int,@n int)
returns int
as
begin
declare @b int;
if dbo.G2(@a,@n)=0 select @b=dbo.G1(@a,@n) else select @b=dbo.G0(@a,@n)
return @b;
end
print dbo.G3(31,0);
print dbo.G3(31,1);
print dbo.G3(31,2);
print dbo.G3(31,3);
print dbo.G3(31,4);
结果:
30
29
27
23
15