Автор Тема: [Oberon-07/11] Беззнаковое целое.  (Прочитано 24468 раз)

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
[Oberon-07/11] Беззнаковое целое.
« : Декабрь 13, 2012, 02:05:15 pm »
Что делать если мне нужно обрабатывать 32 bit unsigned int (к рассчетам это отношения не имеет, чисто програмистская задачка, грубо говоря, это индексы)? Оно же в INTEGER не влезет никак, при условии что INTEGER в нашей реализации таки 32битный (вроде бы в этом Обероне нигде битность INTEGER'a гвоздями не прибита).

Единственный выход который я вижу, использовать LONGREAL (и надяеться что во всех реализациях этого Оберона LONGREAL будет хотя бы 64битным).
Y = λf.(λx.f (x x)) (λx.f (x x))

Kemet

  • Hero Member
  • *****
  • Сообщений: 587
    • Просмотр профиля
Re: [Oberon-07/11] Беззнаковое целое.
« Ответ #1 : Декабрь 13, 2012, 02:37:38 pm »
на оберонкоре это решают просто ))
Цитата: Евгений Темиргалеев
Заголовок: Получить беззнаковое значение BYTE

Цитата: Kemet
Да, с беззнаковыми целыми в Оберонах проблемы ))
К счастью разработчики А2 решили от этой злостной проблемы избавиться.

Проблемы в головах.

Удалено, согласно пп. 1.3, 1.19, 1.9 правил.

Губанов Сергей Юрьевич

  • Hero Member
  • *****
  • Сообщений: 590
    • Просмотр профиля
    • Домашняя страница
Re: [Oberon-07/11] Беззнаковое целое.
« Ответ #2 : Декабрь 13, 2012, 03:23:21 pm »
на оберонкоре это решают просто ))
С BYTE в Блэкбоксе можно сделать так:
PROCEDURE SignedToUnsigned (x: BYTE): INTEGER;
VAR ch: CHAR;
BEGIN
ch := CHR(x);
RETURN ORD(ch);
END SignedToUnsigned;
Временная переменная ch: CHAR; обязательна. Если подставить напрямую ORD(CHR(x)), то компилятор соптимизирует и возвратит отрицательное число при отрицательном x.


valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Re: [Oberon-07/11] Беззнаковое целое.
« Ответ #3 : Декабрь 13, 2012, 03:41:49 pm »
на оберонкоре это решают просто ))
С BYTE в Блэкбоксе можно сделать так:
PROCEDURE SignedToUnsigned (x: BYTE): INTEGER;
VAR ch: CHAR;
BEGIN
ch := CHR(x);
RETURN ORD(ch);
END SignedToUnsigned;
Временная переменная ch: CHAR; обязательна. Если подставить напрямую ORD(CHR(x)), то компилятор соптимизирует и возвратит отрицательное число при отрицательном x.

Какие хаки однако нужны в КП ;-) Да еще и компиляторозависимые.
Y = λf.(λx.f (x x)) (λx.f (x x))

igor

  • Sr. Member
  • ****
  • Сообщений: 438
    • Просмотр профиля
Re: [Oberon-07/11] Беззнаковое целое.
« Ответ #4 : Декабрь 14, 2012, 03:06:45 pm »
Что делать если мне нужно обрабатывать 32 bit unsigned int
Пожалуй, лучшее, что можно сделать в этом случае, - это не использовать Оберон.

Madzi

  • Jr. Member
  • **
  • Сообщений: 86
    • Просмотр профиля
Re: [Oberon-07/11] Беззнаковое целое.
« Ответ #5 : Декабрь 15, 2012, 02:48:23 pm »
А как же SET, или он не 32 бита ?

DIzer

  • Гость
Re: [Oberon-07/11] Беззнаковое целое.
« Ответ #6 : Декабрь 15, 2012, 03:07:19 pm »
Что делать если мне нужно обрабатывать 32 bit unsigned int
Пожалуй, лучшее, что можно сделать в этом случае, - это не использовать Оберон.
  по этому хорошо бы знать когда использовать его , а когда нет - а еще лучше когда и где его использование оптимально ( я говорю про 07)  - в исходном варианте я  перспектив его использования.. не вижу.. даже на начальном этапе обучению алгоритмизации...

DIzer

  • Гость
Re: [Oberon-07/11] Беззнаковое целое.
« Ответ #7 : Декабрь 15, 2012, 03:20:49 pm »
на оберонкоре это решают просто ))
Цитата: Евгений Темиргалеев
Заголовок: Получить беззнаковое значение BYTE

Цитата: Kemet
Да, с беззнаковыми целыми в Оберонах проблемы ))
К счастью разработчики А2 решили от этой злостной проблемы избавиться.

Проблемы в головах.

Удалено, согласно пп. 1.3, 1.19, 1.9 правил.
кстати.. при переходе по ссылке выдает что такой темы не существует...  Kemet - а не вводите ли вы нас в заблуждение  :o

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Re: [Oberon-07/11] Беззнаковое целое.
« Ответ #8 : Декабрь 15, 2012, 03:32:54 pm »
на оберонкоре это решают просто ))
Цитата: Евгений Темиргалеев
Заголовок: Получить беззнаковое значение BYTE

Цитата: Kemet
Да, с беззнаковыми целыми в Оберонах проблемы ))
К счастью разработчики А2 решили от этой злостной проблемы избавиться.

Проблемы в головах.

Удалено, согласно пп. 1.3, 1.19, 1.9 правил.
кстати.. при переходе по ссылке выдает что такой темы не существует...  Kemet - а не вводите ли вы нас в заблуждение  :o

эта тема действительно была
Y = λf.(λx.f (x x)) (λx.f (x x))

DIzer

  • Гость
Re: [Oberon-07/11] Беззнаковое целое.
« Ответ #9 : Декабрь 15, 2012, 03:44:08 pm »
всего за пару часов убрали... оперативно, однако.

igor

  • Sr. Member
  • ****
  • Сообщений: 438
    • Просмотр профиля
Re: [Oberon-07/11] Беззнаковое целое.
« Ответ #10 : Декабрь 15, 2012, 04:13:35 pm »
на оберонкоре это решают просто ))
Цитата: Евгений Темиргалеев
...
Удалено, согласно пп. 1.3, 1.19, 1.9 правил.
Я уже писал где-то на оберонкоре, что они сильно вредят своему сайту, Оберону и всему сообществу тем, что не приемлют никакой критики Оберона. Вот такой парадокс, в чём-то не плохо продвигают, а в чём-то - вредят. Прав Евгений Темиргалеев, проблемы в головах. Весь вопрос в том, в чьих...

DIzer

  • Гость
Re: [Oberon-07/11] Беззнаковое целое.
« Ответ #11 : Декабрь 15, 2012, 04:18:00 pm »
на оберонкоре это решают просто ))
Цитата: Евгений Темиргалеев
...
Удалено, согласно пп. 1.3, 1.19, 1.9 правил.
Я уже писал где-то на оберонкоре, что они сильно вредят своему сайту, Оберону и всему сообществу тем, что не приемлют никакой критики Оберона. Вот такой парадокс, в чём-то не плохо продвигают, а в чём-то - вредят. Прав Евгений Темиргалеев, проблемы в головах. Весь вопрос в том, в чьих...
тык, ну ладно сообщение удалили... но зачем  ВСЮ ТЕМУ удалять... уроды моральные..  еще и трусливые... другого эпитета не могу подобрать...

igor

  • Sr. Member
  • ****
  • Сообщений: 438
    • Просмотр профиля
Re: [Oberon-07/11] Беззнаковое целое.
« Ответ #12 : Декабрь 15, 2012, 04:18:27 pm »
А как же SET, или он не 32 бита ?
Ну и что, что 32 бита? Внутренний формат хранения у SET полностью совпадает с integer unsigned, но снаружи-то он не integer.

Madzi

  • Jr. Member
  • **
  • Сообщений: 86
    • Просмотр профиля
Re: [Oberon-07/11] Беззнаковое целое.
« Ответ #13 : Декабрь 15, 2012, 04:30:02 pm »
Просто нужно тогда точнее выражаться, зачем нужно иметь именно 32 битное целое без знака. Если для индексации массива, то можно иметь 2 массива, а по старшему биту множества определять какой из этих массивов использовать...

igor

  • Sr. Member
  • ****
  • Сообщений: 438
    • Просмотр профиля
Re: [Oberon-07/11] Беззнаковое целое.
« Ответ #14 : Декабрь 15, 2012, 04:30:22 pm »
тык, ну ладно сообщение удалили... но зачем  ВСЮ ТЕМУ удалять... уроды моральные..  еще и трусливые... другого эпитета не могу подобрать...
Самое глупое, что можно придумать, - это пытаться утаить очевидные недостатки (темы вырезать, гнобить инакомыслящих и т.д.). На мой взгляд, Оберон - отличный язык, и я не вижу пока для себя замены ему. В то же время я признаю, что у него есть свои недостатки. Я стараюсь относиться к Оберону как к рабочему инстументу, без излишнего фанатизма.