Just another update
This commit is contained in:
parent
a25938f123
commit
00a190b0a6
6591 changed files with 94363 additions and 23227 deletions
32
Task/Gray-code/SQL/gray-code.sql
Normal file
32
Task/Gray-code/SQL/gray-code.sql
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
DECLARE @binary AS NVARCHAR(MAX) = '001010111'
|
||||
DECLARE @gray AS NVARCHAR(MAX) = ''
|
||||
|
||||
--Encoder
|
||||
SET @gray = LEFT(@binary, 1)
|
||||
|
||||
WHILE LEN(@binary) > 1
|
||||
BEGIN
|
||||
IF LEFT(@binary, 1) != SUBSTRING(@binary, 2, 1)
|
||||
SET @gray = @gray + '1'
|
||||
ELSE
|
||||
SET @gray = @gray + '0'
|
||||
|
||||
SET @binary = RIGHT(@binary, LEN(@binary) - 1)
|
||||
END
|
||||
|
||||
SELECT @gray
|
||||
|
||||
--Decoder
|
||||
SET @binary = LEFT(@gray, 1)
|
||||
|
||||
WHILE LEN(@gray) > 1
|
||||
BEGIN
|
||||
IF RIGHT(@binary, 1) != SUBSTRING(@gray, 2, 1)
|
||||
SET @binary = @binary + '1'
|
||||
ELSE
|
||||
SET @binary = @binary + '0'
|
||||
|
||||
SET @gray = RIGHT(@gray, LEN(@gray) - 1)
|
||||
END
|
||||
|
||||
SELECT @binary
|
||||
Loading…
Add table
Add a link
Reference in a new issue