Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 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