Here is the result of my Convert-Loop-To-Tally exercise:
/* Convert signed integer to binary notation: */
DECLARE @BINval CHAR(39) = ''-- Format: 'xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx'
,@INTval INT = 2147483647-- Positive limit
--,@INTval INT = -2147483648-- Negative limit
SELECT @BINval = CASE WHEN @INTval & power(2, N) > 0 THEN '1' ELSE '0' END/* Determine bit value */
+ CASE WHEN N%4 = 0 THEN ' ' ELSE '' END/* Blks of 4 bits each */
+ @BINval
FROM [dbo].[Tally] WITH (NOLOCK)
WHERE N BETWEEN 0 AND 30 /* Set all but sign bit */
--ORDER BY N /* My tally tbl PK is N */
-- Add sign bit
SELECT @BINval = CASE WHEN @INTval >= 0 THEN '0' ELSE '1' END
+ @BINval
-- Voila...
SELECT @BINval