Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
новичечек
0 / 0 / 0
Регистрация: 17.11.2009
Сообщений: 18
#1

Циклический сдвиг двубайтового целого числа - C++

17.11.2009, 15:12. Просмотров 714. Ответов 2
Метки нет (Все метки)

здравствуйте, требуется помощь в решении данного задания(
задание:
написать программу для циклического сдвига двубайтового целого числа разряда n. Число и кол-во разрядов поступают из входного файла.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.11.2009, 15:12     Циклический сдвиг двубайтового целого числа
Посмотрите здесь:

Циклический сдвиг массива C++
C++ Циклический сдвиг.
C++ циклический сдвиг
C++ Циклический сдвиг матрицы
Циклический сдвиг числа C++
Циклический сдвиг C++
C++ Циклический сдвиг
C++ Циклический сдвиг последних 3 цифр числа
C++ Осуществить циклический сдвиг n-разрядного двоичного представления заданного числа k на m позиций вправо
C++ Циклический сдвиг влево
Циклический сдвиг числа C++
Циклический сдвиг целого числа на n разрядов влево и вправо C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
TanT
эволюционирую потихоньку
465 / 463 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
17.11.2009, 16:45     Циклический сдвиг двубайтового целого числа #2
попробуй так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <iostream>
#include <fstream>
 
using namespace std;
int main()
{
    char fileName[250];
    cout<<"Enter file name: "; cin>>fileName;
 
    ifstream f(fileName);
 
    if (!(f.is_open()))  // проверка наличия первого файла с текстом
        cout<<"ERROR: not file "<<fileName;
    else
    {
        int numRank, number, temp;
        f>>numRank; f>>number;
        
        cout<<"number: "<<number<<" rank: "<<numRank<<endl;
        temp=number>>(16-numRank);
 
        number=(number<<numRank)&0xFFFF+temp;
        cout<<"number: "<<number<<endl;
    }
 
    cout<<endl; system("PAUSE");
    return 0;
}
Добавлено через 30 минут
ты конкретно лучше спрашивай чего не понятно, сложностей особых тут нет
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <iostream>
#include <fstream>
 
using namespace std;
int main()
{
    char fileName[250];
    cout<<"Enter file name: "; cin>>fileName;
    ifstream f(fileName);
 
    if (!(f.is_open()))  // проверка наличия первого файла с текстом
        cout<<"ERROR: not file "<<fileName;
    else
    {
        int numRank, number, temp;
        f>>numRank; f>>number;  // читаем из файла разрядность и число 
        
        cout<<"number: "<<number<<" rank: "<<numRank<<endl; // выводим
        temp=number>>(16-numRank);      // сдвигаем число, так чтобы получить те
                                                                    // биты которые должны велезти за границы двух байт
 
        number=(number<<numRank)&0xFFFF+temp;   // добавляем в конец те байты которые могли потеряться
                    //     |
                    // сдвигаем на указанное количетсво разрядов c округлением до двух байт
 
        cout<<"number: "<<number<<endl;
    }
 
    cout<<endl; system("PAUSE");
    return 0;
}
новичечек
0 / 0 / 0
Регистрация: 17.11.2009
Сообщений: 18
17.11.2009, 17:56  [ТС]     Циклический сдвиг двубайтового целого числа #3
спс
Yandex
Объявления
17.11.2009, 17:56     Циклический сдвиг двубайтового целого числа
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru