AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 25.09.2014, 11:13   #1  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5798 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
! AX2012: базовые типы и результаты операторов div и mod отличаются в X++ и в CIL
Наткнулся недавно на одну неожиданную особенность поведения операторов div и mod в CIL, заключающуюся в том, что они по-разному преобразуют операнды к нужным им типам и выдают иногда разные результаты разных базовых типов по сравнению с X++. Отличия на примерах представлены ниже:
Код:
                                 X++                            CIL
тестовая операция   тип результата    результат    тип результата    результат
------------------------------------------------------------------------------
         0 div 2    Integer                   0    Int64                     0
  intMax() div 2    Integer          1073741823    Int64            1073741823
 realMax() div 2    Integer          1073741823    Int64      4999999999999999
int64Max() div 2    Int64   4611686018427387903    Int64   4611686018427387903
  intMax() mod 2    Integer                   1    Integer                   1
 realMax() mod 2    Integer                   1    Real                   1,00
int64Max() mod 2    Int64                     1    Int64                     1
Проверялось в AX 2012 R2 на ядрах сборок 6.2.1000.4051 (CU7) и 6.2.1000.8310.
За это сообщение автора поблагодарили: belugin (7), Logger (3), Krash (1), MikeR (5), Kabardian (7).
Теги
ax2012, ax2012r2, cil, div, mod

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
AX2012: Не компилируется CIL iCloud DAX: Программирование 9 30.07.2013 19:32
Dynamics AXBR: AX2012 – Common Intermediate Language (CIL) – (Parte I) Blog bot DAX Blogs 0 04.04.2013 09:11
X++ to CIL Blog bot DAX Blogs 0 01.04.2013 14:11
X++: X++ Arrays Behave Differently in .NET CIL, in Dynamics AX 2012 Blog bot DAX Blogs 0 17.09.2012 23:11
роли, типы пользователей и лицензирование AX2012 wojzeh DAX: Администрирование 1 22.07.2011 23:50

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 20:15.