powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Nuzhni 2 UDF - ustanovit` i poluchit` opredelonniy bit v INT
13 сообщений из 13, страница 1 из 1
Nuzhni 2 UDF - ustanovit` i poluchit` opredelonniy bit v INT
    #32055248
Guest1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mozhet kto pomozhet po subjectu?
Zaranee spasibo.
...
Рейтинг: 0 / 0
Nuzhni 2 UDF - ustanovit` i poluchit` opredelonniy bit v INT
    #32055263
Guest1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nikto ne mozhe nameknut` dazhe?
...
Рейтинг: 0 / 0
Nuzhni 2 UDF - ustanovit` i poluchit` opredelonniy bit v INT
    #32055267
Фотография jimmers
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пример можно?

Версия:

Вход: число 5 (101 в двоичной записи), бит 1 (начинаем нумерацию с 0)
Выход: 7 (111)

Если так, то нужно ли сбрасывать бит (т.е. установить в 0)?
...
Рейтинг: 0 / 0
Nuzhni 2 UDF - ustanovit` i poluchit` opredelonniy bit v INT
    #32055268
Guest1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Naprimer:

Est' pole INT - 4 bytes - decimal i hex predstavlenie znachenia
ne imeut:

00000000 00000000 00000000 00000000

Nuzhno stanovit` bit nomer 9 v 1:

00000000 10000000 00000000 00000000

A potom imet` vozmozhnost` uznat` v 0 ili v 1 ustanovlen etot bit

i t.d.
...
Рейтинг: 0 / 0
Nuzhni 2 UDF - ustanovit` i poluchit` opredelonniy bit v INT
    #32055272
Фотография jimmers
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как раз-таки представление имеет значение, ибо из него следует, какой бит первый. У Вас нумерация начинается слева почему-то.

Вот код для моего примера:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
ALTER FUNCTION dbo.SetBit(@Number INTEGER, @BitPosition INTEGER)
RETURNS INTEGER
AS
BEGIN
DECLARE @Result INTEGER
SET @Result = @Number | POWER( 2 ,@BitPosition- 1 )
RETURN @Result
END


Аналогично для получения значения.


Удачи
...
Рейтинг: 0 / 0
Nuzhni 2 UDF - ustanovit` i poluchit` opredelonniy bit v INT
    #32055273
Фотография jimmers
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CREATE вместо ALTER, конечно...
...
Рейтинг: 0 / 0
Nuzhni 2 UDF - ustanovit` i poluchit` opredelonniy bit v INT
    #32055294
Guest1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Numeratziya sleva potomo-chto ran'she eto delalos` cherez
VARCHAR(32) - no vse podstanovki i polucheniya znacheniy
rabotali sravnitel`no medlenno - vsyo-taki chislovaya matematika dolzhna rabotat` bistree...
...
Рейтинг: 0 / 0
Nuzhni 2 UDF - ustanovit` i poluchit` opredelonniy bit v INT
    #32055300
Guest1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 jimmers

Mne nado poluchat` 1 esli bit ustanovlen v 1 i 0 esli v 0.

Kak eto mozhno opredelit`?
...
Рейтинг: 0 / 0
Nuzhni 2 UDF - ustanovit` i poluchit` opredelonniy bit v INT
    #32055304
Фотография jimmers
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
CREATE FUNCTION dbo.SetBit(@Number INTEGER, @BitPosition INTEGER)
RETURNS BIT
AS
BEGIN
DECLARE @Result BIT
SET @Result = @Number & POWER( 2 ,@BitPosition- 1 )
RETURN @Result
END
...
Рейтинг: 0 / 0
Nuzhni 2 UDF - ustanovit` i poluchit` opredelonniy bit v INT
    #32055306
Guest1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 jimmers
A poluchat` znachenie bita nuzhno tak:???

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
ALTER FUNCTION dbo.GetBit(@Number INTEGER, @BitPosition INTEGER)
RETURNS BIT
AS
BEGIN
DECLARE @Result BIT
SET @Result = @Number | POWER( 2 ,@BitPosition- 1 )
RETURN @Result
END
...
Рейтинг: 0 / 0
Nuzhni 2 UDF - ustanovit` i poluchit` opredelonniy bit v INT
    #32055310
Guest1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
declare @mint as int

set @mint= 0 

select @mint=dbo.setbit(@mint, 5 )

declare @gint as bit
select @gint=dbo.getbit(@mint, 5 )
select @gint


vozvrashaet 0!!!???
...
Рейтинг: 0 / 0
Nuzhni 2 UDF - ustanovit` i poluchit` opredelonniy bit v INT
    #32055314
Фотография jimmers
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Простите, в моем последнем посте опечатка: следует читать GetBit, а не SetBit.


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
CREATE FUNCTION dbo.SetBit(@Number INTEGER, @BitPosition INTEGER)
RETURNS INTEGER
AS
BEGIN
DECLARE @Result INTEGER
SET @Result = @Number | POWER( 2 ,@BitPosition- 1 )
RETURN @Result
END
GO

CREATE FUNCTION dbo.GetBit(@Number INTEGER, @BitPosition INTEGER)
RETURNS BIT
AS
BEGIN
DECLARE @Result BIT
SET @Result = @Number & POWER( 2 ,@BitPosition- 1 )
RETURN @Result
END
GO

SELECT dbo.SetBit( 5 ,  2 )
SELECT dbo.GetBit( 5 ,  0 )
GO
...
Рейтинг: 0 / 0
Nuzhni 2 UDF - ustanovit` i poluchit` opredelonniy bit v INT
    #32055315
Guest1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Spasibo bol`shoe.
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Nuzhni 2 UDF - ustanovit` i poluchit` opredelonniy bit v INT
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]