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

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

Войти
Регистрация
Восстановить пароль
 
iezuit
1 / 1 / 0
Регистрация: 16.10.2009
Сообщений: 29
#1

возникла неприятность - C++

16.10.2009, 19:20. Просмотров 393. Ответов 4
Метки нет (Все метки)

Дело вот в чем, задание гласит следующее:
Дано целое число n, поменять местами байты этого числа.
Я исходил из того, что эт число n двубайтовое по идее,вот и вышло нечто такое:
n=12;
m=n;
n=n<<8;
m=m>>8;
n=n|m;
По идее это должно поменять местами байты, как мне кажется во всяком случае,но тут возникла другая проблема,программа должна всю эту штуку выводить на экран, и как это сделать нет ни малейшего понятия.Вот и потребовалась помощь,жду Ваши советы(желательно подкрепленные,так как в с++ я совсем не силен)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.10.2009, 19:20
Здравствуйте! Я подобрал для вас темы с ответами на вопрос возникла неприятность (C++):

Возникла проблема со switch - C++
возникла проблема. есть switch(c){ case &quot;1&quot;:cout&lt;&lt;&quot;x&quot;;a=b;if(...) case &quot;2&quot;:cout&lt;&lt;&quot;z&quot;;if(..) cout&lt;&lt;&quot;..&quot; case &quot;3&quot;:cout&lt;&lt;y;...

Возникла загвоздочка с заданием - C++
Решаю следующее задание: Задается 2 числа a,b. Надо вычислить сколько чисел в интервале при делении их на 7-ку - в остатке будут иметь...

Возникла problem по классам - C++
#include &quot;Sales_item.h&quot; #include &lt;iostream&gt; using namespace std; int main() { Sales_item book; cin &gt;&gt;...

Возникла трудность с шаблонами - C++
Не компилится следующий код. Не даёт вернуть итератор вектора. Почему нельзя так делать? template &lt;class Type&gt; class Vector { ...

Возникла ошибка в коде - C++
Я написал код, но в конце не выводит конечный массив #include&lt;iostream&gt; #include&lt;cstdlib&gt; using namespace std; int main() { ...

Реализации МП транслитератора - возникла проблема - C++
При реализации МП транслитератора возникла проблема. После добавления очереди queue&lt;string&gt; t_que; у главного стека внезапно...

4
TanT
эволюционирую потихоньку
465 / 463 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
16.10.2009, 19:39 #2
Цитата Сообщение от iezuit Посмотреть сообщение
Дело вот в чем, задание гласит следующее:
Дано целое число n, поменять местами байты этого числа.
Я исходил из того, что эт число n двубайтовое по идее,вот и вышло нечто такое:
)
ну вот смотри, я стандартную функцию преобразования в биты целого числа не знаю, поэтому всё сам, своими руками. в итоге это код демонстрирующий твой алгоритм
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
#include <iostream>
#include <cmath>
using namespace std;
 
void coutBit(int n)
{
    for (int i=16; --i>=0; )
        cout<<(int)(n/pow(2,(double)i))%2;
}
 
int main()
{ 
    int n=12, m;
    m=n;
    cout<<"n bit:       ";  coutBit(n);
    
 
    n=n<<8;
    m=m>>8;
    n=n|m;
 
    cout<<"\nn bit after: ";    coutBit(n);
 
 
    cout<<endl; system("pause");
}
Цитата Сообщение от iezuit Посмотреть сообщение
с++ я совсем не силен)
а от груди скока жмёшь?

Добавлено через 42 секунды
0
iezuit
1 / 1 / 0
Регистрация: 16.10.2009
Сообщений: 29
16.10.2009, 19:43  [ТС] #3
Благодарю за потраченное время,но у меня есть еще одна маленькая просьба,не мог бы ты объяснить логику своих действий?
П.С.пару лет назад было 90,счас скорее всего куда как меньше,разленился))
0
TanT
эволюционирую потихоньку
465 / 463 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
16.10.2009, 19:47 #4
всё вроде верно то для 32битных платформ int 32бита (4 байта),

Добавлено через 3 минуты
в общем я просто визуализировал твой алгоритм.
ты правильно сдвинул байт влево и сложил с байтом сдвинутым вправо

поменял 1 и 2 байт местами.
программа осуществляет твои операции и вывод 2байт числа n в двоичном представлении

Не по теме:

90 это здорово. я тока 85.

0
iezuit
1 / 1 / 0
Регистрация: 16.10.2009
Сообщений: 29
16.10.2009, 20:03  [ТС] #5
умгум, понял. Спасибо за помощь!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.10.2009, 20:03
Привет! Вот еще темы с ответами:

Начинаю изучать C++ , возникла загвоздка с goto - C++
При не правильном вводе , выводит фразы : Incorrect valueFirst number Second number Act Что делать? #include...

Делаю игру на русском, но возникла непонятка с кодировками - C++
Делаю игру на русском языке по нахождению антонимов. Использую setlocale, но когда вызываю функцию, которая проверяет правильность ответа и...

У меня возникла проблема с программой, окно задерживается на 1 секунду и исчезает, на других версиях Microsoft Express тоже самое - C++
Доброе Время Суток У меня возникла проблема с компилируемым окном , при проверки он задерживается на 1 секунду и исчезает , на других...

Возникла необходимость в основном коде вызвать функцию и чтобы код продолжал выполнение, НЕ ДОЖИДАЯСЬ окончания работы этой функции - C++
Не могу сообразить, буду благодарен за простой пример!


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

Или воспользуйтесь поиском по форуму:
5
Yandex
Объявления
16.10.2009, 20:03
Ответ Создать тему
Опции темы

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