Битовые операции
Пример того, как можно вызывать битовые операции из 1С
- Описание
- Подробнее
Описание
Занимаясь программой для поиска решений головоломки Bedlam Cube, я задался вопросом, а можно ли в 1С реализовать битовые операции. Дело в том, что кубик, который надо собрать, имеет размеры 4х4х4. А значит его можно описать с помощью 64-х разрядного числа, в котором каждый бит соответствует ячейке (клетке) головоломки. В 1С числа представляются в виде строк и , как следствие, операций над битами нет. Но побитовые операции есть в Transaq-SQL (& — побитовое И, | — побитовое ИЛИ, ^ — побитовое исключающее ИЛИ). Среди типов данных, которые входят в стандарт языка Transaq-SQL присутствует bigint, которое имеет длину 8 байт, что и соответствует 64-х разрядному числу. Сначала я создал хранимые процедуры, с помощью которых выполняются побитовые операции. Ниже приведен пример одной из них.
CREATE PROCEDURE [dbo].[BitOR]
— Add the parameters for the stored procedure here
@BigInt1 bigint,
@BigInt2 bigint
AS
BEGIN
SET NOCOUNT ON;
SELECT @BigInt1 | @BigInt2
END
CREATE PROCEDURE [dbo].[BitOR]
— Add the parameters for the stored procedure here
@BigInt1 bigint,
@BigInt2 bigint
AS
BEGIN
SET NOCOUNT ON;
SELECT @BigInt1 | @BigInt2
END
