sql中的位操作

2021-04-24 18:37:49 字數 2193 閱讀 2571

1。sql字元與位的互轉

create   function   f_chg1   (@temp   varchar(8))    

returns   char(1)  

as  

begin  

declare   @i   int  

declare   @n   int  

declare   @c   char(1)  

set   @i   =   0  

set   @n   =   0  

while   @temp     <>   ''  

begin  

set   @i   =     @i   +   power(2,@n)   *   cast(right(@temp,1)   as   int)  

set   @temp   =   left(@temp,len(@temp)   -1   )  

set     @n   =   @n   +   1  

end  

set   @c   =   char(@i)  

return(@c)  

end  

go  

create   function   f_chg2   (@c   char(1))    

returns   char(8)  

as  

begin  

declare   @temp   varchar(8)  

declare   @i   int  

set   @temp   =   ''  

set   @i   =   ascii(@c)  

while   @i   >   0  

begin  

set   @temp   =   @temp   +   cast(@i%2   as   varchar(1))  

set   @i   =   ceiling(   @i   /   2   )  

end  

set   @temp   =   reverse(@temp)  

return(@temp)  

end  

go  

select   dbo.f_chg2('c')  

--01100011  

select   dbo.f_chg1('01100011')  

--c  

select   dbo.f_chg2(dbo.f_chg1('11111111'))  

--11111111  

2.進製的轉換

--十進位制轉化為二進位制數  

create   function   dec_bin(@decimal   int)  

returns   varchar(20)  

as  

begin  

declare   @bin   varchar(20)  

set   @bin=''  

while   @decimal!=0  

begin  

set   @bin=cast(@decimal%2   as   varchar(20))+@bin  

set   @decimal=@decimal/2  

end  

return(@bin)  

end  

select   dbo.dec_bin(9)

--十進位制轉化為八進位制數  

create   function   dec_hex(@decimal   int)  

returns   varchar(20)  

as  

begin  

declare   @bin   varchar(20)  

set   @bin=''  

while   @decimal!=0  

begin  

set   @bin=cast(@decimal%8   as   varchar(20))+@bin  

set   @decimal=@decimal/8  

end  

return(@bin)  

end  

select   dbo.dec_hex(10) 

C 中的位操作

位操作符是對資料按二進位制位進行運算的操作符。c 位操作符包括 按位與 按位或 按位取反 左移 右移 舉例說明 using system class mikecat a 6的二進位制是00000110,3的二進位制是00000011,按位與後等於00000010,即2。int b 6 3 conso...

c c 中的位操作

c c 支援比較低階的位運算,在是眾人皆知的了。每本c c 的教科書都會說到這部分的內容,不過都很簡略,我想會有很多人不知道位運算用在什麼地方。這個帖子就簡略說說位運算的用處,更進一步的用法要大家自己去體會。而主要說的是操作標誌值方面。define bti msk bit 1 bit define ...

C 中的位操作

位操作符是對資料按二進位制位進行運算的操作符。c 位操作符包括 舉例說明 using system class mikecat a 6的二進位制是00000110,3的二進位制是00000011,按位與後等於00000010,即2。int b 6 3 console.writeline b b 6的...