Текущее время: Вс, июл 20 2025, 21:31

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
 Заголовок сообщения: битовые операции
СообщениеДобавлено: Пт, июн 22 2007, 07:50 
Специалист
Специалист

Зарегистрирован:
Ср, мар 21 2007, 14:32
Сообщения: 158
Господа!
а есть операции сдвига в абапе для чисел?
типа как в Си
a = 0x3F>>1.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, июн 22 2007, 08:36 
Председатель
Председатель
Аватара пользователя

Зарегистрирован:
Чт, апр 13 2006, 12:32
Сообщения: 1503
Откуда: Питер
Таких нет, но нетрудно написать универсальную подпрограмму.
Например сразу на ум приходит такой алгоритм.
1) С использованием GET BIT отобразить позиции бита в позицию байта в строке c(32).
2) SHIFT c BY 1 PLACES RIGHT.
3) C использованием SET BIT сделать обратную операцию.

У SHIFT даже есть полезная опция CIRCULAR, если не хотите терять лидирующий в направлении сдвига бит.
Например:
Code:
DATA c(8).
c = '00001111'.
SHIFT c BY 1 PLACES RIGHT CIRCULAR.
* c равно '10000111'.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, июн 22 2007, 09:03 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Пн, дек 20 2004, 16:05
Сообщения: 1080
Откуда: 4.0B
Пол: Мужской
Еще обратите внимание на опцию IN BYTE MODE для SHIFT для xstring поле.


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 3 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB