Образовательный проект «SnakeProject» Михаила Козлова

Навигация

⇒ SQL\T-SQL ⇐

CISCO

Voice(Asterisk\Cisco)

Microsoft

Powershell

Python

FreeBSD and Nix

Общая

WEB Разработка

ORACLE SQL \ JAVA

Мото

Стрельба, пневматика, оружие

Саморазвитие и психология


T-SQL: Преобразование десятичных чисел в двоичные


Разберем сегодня пример с преобразованием десятичного числа в двоичное.

Задача решается довольо просто, к примеру у нас будет число 91, которое мы захотим перевести в двоичный формат, для этого нам потребуется преобразование с помощью CAST, и побитовое сравнение с единицей.

Все действие будет происходить при каждом проходе деления числа на двойку, т.к. мы переводим вдвоичную систему.

--Побитовое "(И)", "(AND)", "(&)" — это бинарная операция, 
--действие которой эквивалентно применению логического "И" 
--к каждой паре битов, которые стоят на одинаковых позициях 
--в двоичных представлениях операндов. 
--Если говорить по-людски: если оба соответствующих бита операндов равны единице, 
--то итоговый двоичный разряд будет единицей; 
--если хоть один бит из пары равен нулю, 
--то итоговый двоичный разряд станет равным нулю.


DECLARE @num INT
DECLARE @bin VARCHAR(MAX)

SET @num = 91
SET @bin=''

WHILE @num > 0
BEGIN
    SET @bin = cast((@num & 1) AS VARCHAR(10)) + @bin
    SET @num = @num / 2
END

SELECT @bin

Вот так очень просто мы осуществили перевод числа из одной системы в другую.

Видео на YouTube: http://www.youtube.com/watch?v=okLyXeDOhqs


Комментарии пользователей

Эту новость ещё не комментировалиНаписать комментарий
Анонимам нельзя оставоять комментарии, зарегистрируйтесь!

Контакты Группа ВК Сборник материалов по Cisco, Asterisk, Windows Server, Python и Django, SQL и T-SQL, FreeBSD и LinuxКод обмена баннерами Видео к IT статьям на YoutubeВидео на другие темы Смотреть
Мои друзья: Советы, помощь, инструменты для сис.админа, статическая и динамическая маршрутизация, FreeBSD

© Snakeproject.ru создан в 2013 году.
При копировании материала с сайта - оставьте ссылку.
Весь материал на сайте носит ознакомительный характер,
за его использование другими людьми, автор ответственности не несет.

Рейтинг@Mail.ru
Рейтинг@Mail.ru Яндекс.Метрика





Поддержать автора и проект