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

Поменять местами содержимое четных и нечетных разрядов в младшем байте - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Определить является ли двумерный массив логическим квадратом http://www.cyberforum.ru/cpp-beginners/thread548906.html
Определить является ли двумерный массив логическим квадратом, то есть суммы по всем горизонталям, вертикалям и двум диагоналям должны быть равны:cry:
C++ Напечатать все слова последовательности, которые встречаются в ней по одному разу. Дана последовательность слов. Напечатать все слова последовательности, которые встречаются в ней по одному разу. :( (P.S.ответьте пожалуйста полно...С++ знаю плохо.) http://www.cyberforum.ru/cpp-beginners/thread548905.html
C++ Побитовые операции
Задача должна быть реализована в с++ но пришлось временно писать в дельфи. суть такая: входящие число в диапазоне 0-n (8 байт) выходящие группа чисел в виде нескольких байт с помощью которых можно...
C++ Метод релаксации неправильно работает
Мне необходимо решить уравнение Пуассона методом релаксации для области во вложении. (Она целиком лежит в квадрате 3х3). Я написал код для метода релаксации, однако он даёт неправильный результат....
C++ Не могу понять свою ошибку! http://www.cyberforum.ru/cpp-beginners/thread548873.html
Здравствуйте! Скажите, в чем моя ошибка... При вводе чисел 1 1 1 в исходный файл программа выдаёт "YES", но при вводе 2 2 4, программа выдает "NO"... #include <iostream> using namespace std; ...
C++ Как нарисовать график? У меня заданы функции: y1=a0+a1*x/exp(1/x) y2=a0+a1*log(sqrt(x)) и массив известных значений У a0,a1 известны, x- заданный массив как построить график, этих функций (y,y1,y2) в консоли? подробнее

Показать сообщение отдельно
Kuzia domovenok
1892 / 1747 / 119
Регистрация: 25.03.2012
Сообщений: 5,936
Записей в блоге: 1
16.04.2012, 20:34
Это не та задача, которую я решил, я менял местами разряды в младшем байте.
[CPP]что конкретно не то?? Она меняет чётные и нечётные разряды младшего байта целого числа.
Я написал только первую задачу, а второй тут нет.

Добавлено через 11 минут
Прочитал условие задачи ещё раз: там дано число типа WORD
ему соответствует тип unsigned short, поэтому лучше так.

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
32
33
34
35
#include <stdio.h>
#define BINPRINT(x) printf("%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d"\
, ((x)&(1<<15))?1:0\
, ((x)&(1<<14))?1:0\
, ((x)&(1<<13))?1:0\
, ((x)&(1<<12))?1:0\
, ((x)&(1<<11))?1:0\
, ((x)&(1<<10))?1:0\
, ((x)&(1<<9))?1:0\
, ((x)&(1<<8))?1:0\
, ((x)&(1<<7))?1:0\
, ((x)&(1<<6))?1:0\
, ((x)&(1<<5))?1:0\
, ((x)&(1<<4))?1:0\
, ((x)&(1<<3))?1:0\
, ((x)&(1<<2))?1:0\
, ((x)&(1<<1))?1:0\
, ((x)&(1<<0))?1:0)
int main()
{
unsigned short x, y;
unsigned short lowodd;
unsigned short loweven;
scanf("%us", &y);
x=y;
lowodd=x&0xAA;
loweven=x&0x55;
x=x&0xFF00;
x=x|(lowodd>>1)|(loweven<<1);
printf("decimal given %us\n", y);
printf("decimal result %us\n", x);
printf("binary given \n"); BINPRINT(y);
printf("binary result \n"); BINPRINT(x);
return 0;
}
я решил только первую из задач!
что здесь может не работать? это твои слова?
Задано целое число типа WORD. Поменять местами содержимое четных и нечетных разрядов в младшем байте. Алгоритм преобразования оформить в виде функции. Исходное число и результат вывести в двоичной и десятичной форме.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru