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

Часовой пояс: 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 часа


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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