Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Реализация CRC8 в виде функции  [new]
bolt_work
Member

Откуда:
Сообщений: 12
Всем доброго времени суток.

Стоит задача реализовать алгоритм расчета CRC8 в виде функции на MS SQL 2008
Возникла проблема с побитовым сдвигом, есть ли подобная функция в MS SQL?

Если нет как можно ее реализовать?

Заранее спасибо.
29 сен 15, 10:26    [18208226]     Ответить | Цитировать Сообщить модератору
 Re: Реализация CRC8 в виде функции  [new]
iap
Member

Откуда: Москва
Сообщений: 47001
bolt_work,

умножить на 2 - сдвиг влево, разделить на 2 - сдвиг вправо.
Элементарно!
29 сен 15, 10:32    [18208252]     Ответить | Цитировать Сообщить модератору
 Re: Реализация CRC8 в виде функции  [new]
bolt_work
Member

Откуда:
Сообщений: 12
С бинарными данными работал очень мало? умножит на 2 как будет выглядеть?
Есть значение переменной @Result = 0x3030
Каким образом его будет выглядеть умножение на 2:

Set @Result = @Result*2 ?
29 сен 15, 10:55    [18208360]     Ответить | Цитировать Сообщить модератору
 Re: Реализация CRC8 в виде функции  [new]
iap
Member

Откуда: Москва
Сообщений: 47001
bolt_work
0x3030
Какого типа @Result?
29 сен 15, 11:04    [18208403]     Ответить | Цитировать Сообщить модератору
 Re: Реализация CRC8 в виде функции  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31446
bolt_work
С бинарными данными работал очень мало? умножит на 2 как будет выглядеть?
Есть значение переменной @Result = 0x3030
Каким образом его будет выглядеть умножение на 2:

Set @Result = @Result*2 ?
Set @Result = convert(binary(2), convert(smallint, @Result) * 2)
29 сен 15, 11:05    [18208410]     Ответить | Цитировать Сообщить модератору
 Re: Реализация CRC8 в виде функции  [new]
iap
Member

Откуда: Москва
Сообщений: 47001
alexeyvg
bolt_work
С бинарными данными работал очень мало? умножит на 2 как будет выглядеть?
Есть значение переменной @Result = 0x3030
Каким образом его будет выглядеть умножение на 2:

Set @Result = @Result*2 ?
Set @Result = convert(binary(2), convert(smallint, @Result) * 2)
По-моему и без явных convertов можно
29 сен 15, 11:09    [18208436]     Ответить | Цитировать Сообщить модератору
 Re: Реализация CRC8 в виде функции  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31446
iap
alexeyvg
пропущено...
Set @Result = convert(binary(2), convert(smallint, @Result) * 2)

По-моему и без явных convertов можно
Неявные могут делаться к другому типу, например, к INT, мало ли что...
Но в данном случае похоже можно.
29 сен 15, 11:15    [18208464]     Ответить | Цитировать Сообщить модератору
 Re: Реализация CRC8 в виде функции  [new]
bolt_work
Member

Откуда:
Сообщений: 12
Спасибо за помощь!
29 сен 15, 11:42    [18208637]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить