1.假设西门子1word,双字节,即16bit

2.SQL中写函数或SP均可以,本文为SP
CREATE PROCEDURE [dbo].[SP_WCS_DecToBin] --修改用ALTER PROCEDURE
@Dec INT , --输入的十进制
@DecToBin1 VARCHAR(32 ) OUTPUT --解析的二进制
AS
begindeclare @BinStr as varchar(20)declare @Mod2 as intdeclare @Div2 as intSET @DecToBin1=''--SET @DecToBin2=''set @Div2 = @Dec / 2set @Mod2 = @Dec % 2set @BinStr=''while @Div2<>0beginif @Mod2=0set @BinStr = @BinStr + '0'elseset @BinStr = @BinStr + '1'set @Dec = @Dec / 2set @Div2 = @Dec / 2set @Mod2 = @Dec % 2endset @BinStr = @BinStr + '1'SELECT @DecToBin1 = REVERSE(@BinStr + right('0000000000000000',16-len(@BinStr)))RETURN(0)
end
执行结果就可以得到16bit
