1. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

    Скрыть объявление
  2. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление

Симметричное отображений байтов

Тема в разделе "Вопросы новичков и не только", создана пользователем Akimich, 6 июл 2010.

Статус темы:
Закрыта.
  1. Akimich

    Akimich Гость

    Репутация:
    0
    Формулировка задачи: Реализуйте с помощью логических операций симметричное отображение старшего байта слова на младший байт с потерей исходных значений. Искал в интернете и книгах , но не нашел что такое симметричное отображение байтов. Помогите пожалуйста, заранее спасибо.
     
  2. hosm

    hosm * so what *

    Репутация:
    0
    Регистрация:
    18 май 2009
    Сообщения:
    2.442
    Симпатии:
    8
    если не понятно условие, могу предпожить, что надо перевернуть старший байт (прочитать с конца) и записать в младший и наоборот (например: 0EFE (00001110 11111110) преобразовать в 7F70(01111111 01110000)).
    как реализовать - думайте сами, Вы даже язык реализации не указали...
     
  3. 0rtega

    0rtega Гость

    Репутация:
    0
    Не понимаю, когда дают задания, даже не объяснив с чем оно связано и значения каких-то элементарных понятий, с которыми это задание связано. Симметричное отображение - это по-моему что-то из алгебры и теории чисел из главы линейные отображения...точно не помню, могу покопаться...
     
  4. Akimich

    Akimich Гость

    Репутация:
    0
    Программа реализуется как ассемблерная вставка в C++ вот примерный вариант решения:
    Код:
    void main(void)
    {
    
    setlocale(LC_ALL,"Russian"); //установка локали в русскую, чтобы работала кирилица
    //инициализация целочисленных переменных
    std::cout << "3-8. Реализуйте с помощью логических симметричное отображение старшего байта слова на младший байт с потерей исходных значений. "<< "\n";
    
    short rez;
    __asm
    {
    MOV ax,1234h
    XOR al,al
    or al,ah
    ROR al,4
    MOV rez,ax
    }
    std::cout << "При расчет на языке Assembler получилось: " <<rez;
    getch(); 
    return;
    }
    Только ответы не сходятся должно получиться 1221 а получается 4641
     
  5. hosm

    hosm * so what *

    Репутация:
    0
    Регистрация:
    18 май 2009
    Сообщения:
    2.442
    Симпатии:
    8
    1221h = 4641
     
  6. Akimich

    Akimich Гость

    Репутация:
    0
    Спасибо всем, разобрался с задачей :)
     
Статус темы:
Закрыта.

Поделиться этой страницей