Here is a quick and fast way to convert an integer to Binary number. Binary number is base to two. That is we have to divide the number by two and take the remainder in the reverse order. In SQL server we can achieve this by this simple script.
 DECLARE @InputValue int  SET @InputValue =  --Specify the number  
DECLARE @Binary VARCHAR(200)  
SET @Binary = '' -- Initialize to nothing   
WHILE @InputValue <> 0  
BEGIN     
SET @Binary = SUBSTRING('01', (@InputValue % 2) + 1, 1) + @Binary   
SET @InputValue = @InputValue / 2     
END   SELECT @Binary
Look at SUBSTRING() . I hardcoded '01' and taking the length of  Input value. Remember when you divide any number by two, the remainder will be either 0 or 1 and it won't go beyond. Once Remainder is taken, take the substring of '01' the values would be SUBSTRING('01', 1 OR 2,1). So we get either 0 or 1 which is binary. We add the previous binary value to the existing substring. Remember @Binary is string so, the order is important. append @Binary at the end. When you divide a number by 2 and try to take its value, always remember that the remainders are taken in bottom up approach. That is why I am appending the previous remainder.
 
 
No comments:
Post a Comment