powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / c# преобразование типов & побитовое и
11 сообщений из 11, страница 1 из 1
c# преобразование типов & побитовое и
    #38522439
Фотография essbase.ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
дано - код на Oracle , нужно его мигрировать на MsSQL. явно преобразовать не получается , поэтому задумал написать хранимку на С#.
Опреция простая , но как к ней подойти .. ) (помогите пж с направлением ) )


Код: plsql
1.
select  bitand(60129543037, to_number('00000000ffffffff','XXXXXXXXXXXXXXXX')) as C1id from dual  
...
Рейтинг: 0 / 0
c# преобразование типов & побитовое и
    #38522520
Фотография Яростный Меч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
это остаток от деления 60129543037 на 4294967296, если я правильно понял.
остаток от деления можно в MsSQL получить?
...
Рейтинг: 0 / 0
c# преобразование типов & побитовое и
    #38522529
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
%
...
Рейтинг: 0 / 0
c# преобразование типов & побитовое и
    #38522901
Фотография essbase.ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нашел в этой статье вдохновение )

http://professorweb.ru/my/csharp/charp_theory/level12/12_13.php
...
Рейтинг: 0 / 0
c# преобразование типов & побитовое и
    #38522990
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Яростный Мечэто остаток от деления 60129543037 на 4294967296, если я правильно понял.
Это битовый AND (как видно из названия функции) над 60129543037 и результатом приведения к числовому типу шестнадцатеричного значения 00000000ffffffff.
essbase.ruНашел в этой статье вдохновение )
Дурью маетесь. Ваша задача решается средствами самого MSSQL, без всяких CLR:
Код: sql
1.
select convert(bigint,60129543037) & convert(bigint,convert(binary(8),'00000000ffffffff',2))
...
Рейтинг: 0 / 0
c# преобразование типов & побитовое и
    #38523003
Фотография essbase.ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сон Веры Павловны,


Вот спасибо )


ЕР
...
Рейтинг: 0 / 0
c# преобразование типов & побитовое и
    #38523312
Фотография Яростный Меч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сон Веры ПавловныЯростный Мечэто остаток от деления 60129543037 на 4294967296, если я правильно понял.
Это битовый AND (как видно из названия функции) над 60129543037 и результатом приведения к числовому типу шестнадцатеричного значения 00000000ffffffff.да.
и он эквивалентен остатку от деления 60129543037 на 4294967296
...
Рейтинг: 0 / 0
c# преобразование типов & побитовое и
    #38523349
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Яростный Мечда.
и он эквивалентен остатку от деления 60129543037 на 4294967296
Код: sql
1.
2.
3.
select
  convert(bigint,60129543037) & convert(bigint,convert(binary(8),'00000000ffffffff',2)),
  convert(bigint,60129543037) % convert(bigint,convert(binary(8),'00000000ffffffff',2))


Код: plaintext
1.
2.
3.
-------------------- --------------------
893                  907

(1 row(s) affected)
...
Рейтинг: 0 / 0
c# преобразование типов & побитовое и
    #38523394
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
делить нужно на '0000000100000000'
...
Рейтинг: 0 / 0
c# преобразование типов & побитовое и
    #38523402
Фотография essbase.ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изопропил,

Во всем это вижу пласт знаний , который я благополучно забыл )

Поэтому решил так как понятнее )
- CLR с вычленением части показателя

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
            Int64 intValue = 60129543037;
            byte[] intBytes = BitConverter.GetBytes(intValue);
            byte[] intBytes2 = new byte[4] ;
            intBytes2[0] = intBytes[0];
            intBytes2[1] = intBytes[1];
            intBytes2[2] = intBytes[2];
            intBytes2[3] = intBytes[3];

            Console.WriteLine("\n");
            Console.WriteLine(BitConverter.ToInt32(intBytes2,0));
            intBytes2[0] = intBytes[4];
            intBytes2[1] = intBytes[5];
            intBytes2[2] = intBytes[6];
            intBytes2[3] = intBytes[7];
            Console.WriteLine("\n");
            Console.WriteLine(BitConverter.ToInt32(intBytes2, 0));
...
Рейтинг: 0 / 0
c# преобразование типов & побитовое и
    #38523413
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
essbase.ru,

даже если и на шарпе
Код: c#
1.
60129543037L & 0xFFFFFFFFL

достаточно

P.S. без нужды на SQL сервер не надо тащить инородные Java,C#, C/C++
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / c# преобразование типов & побитовое и
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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