Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 16.05.2010
Сообщений: 8
1

поразрядная обработка числа (си)

06.11.2010, 21:43. Показов 949. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
здравствуйте
у меня есть задание - определить, является ли двоичное представление числа симметричным, т.е. определить, будет ли число читаться одинаково с обеих сторон.
я знаю, что эту задачу нужно решать с помощью 2х масок. они устанавливаются на 1 и последний биты числа и, сдвигаясь к середине числа, по одному сравнивают биты слева и справа
я создала маски, определила место 1ого значащего разряда числа и количество разрядов в числе. затруднение вызывает цикл, где маски будут сдвигаться к середине числа и будут сравниваться биты с 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
29
30
31
32
33
34
35
36
37
38
39
40
#include <stdio.h>
#include <conio.h>
 
void main(void)
{
int n, m1, m2, m3, a, b, c, i, k, l;
 
m1=128; //10000000//
m2=255;//11111111//
m3=255;//11111111//
a=8;
printf("vvedite chislo\n");
scanf("%d",&n); 
b=n;
//позиция первого значащего разряда// 
for (i=0; i<8; i++)
{
   if (!(b & m1) == 1)
    b = b << 1;
   else
    break;
}
a = a - i; //число разрядов в числе//
c=a/2;
//создание маски для левой части числа//
m2 = m2 >> i;
m2 = m2 >> c;
//создание маски для правой части числа//
m3 = m3 >> i;
m3 = m3 >> c;
m3 = m3 << c;
 
//цикл, где сравниваются биты с 2х концов числа//
 
printf("simmetrichno\n");
else
printf("ne simmetrichno \n");   
printf("\n");
getch();
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.11.2010, 21:43
Ответы с готовыми решениями:

Поразрядная обработка целых чисел
Привет. Требуется ваша помощь в написании кода на С, используя побитовые сдвиги. Собственно...

Поразрядная обработка целых чисел: циклически сдвинуть длинное целое число N на K разрядов вправо
Циклически сдвинуть длинное целое число N на K разрядов вправо.

Поразрядная сортировка
Программа вылетает, не пойму почему? подскажите пожалуйста. #include &quot;iostream&quot; using namespace...

Поразрядная сортировка
Подскажите пожалуйста почему если ввести больше 100 элементов то код не работает? #include...

0
06.11.2010, 21:43
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.11.2010, 21:43
Помогаю со студенческими работами здесь

Поразрядная операция ~
Решаю задачки с поразрядными операциями. Что-то непонятное у меня выводится на ~, или не так ввожу....

Поразрядная сортировка
нужна поразрядная сортировка на статических массивах, входные данные вводятся с файла, сортировать...

Поразрядная сортировка
Помогите решить проблему с кодом #include &quot;stdafx.h&quot; #include &lt;stdlib.h&gt; #include &lt;stdio.h&gt;...

Поразрядная сортировка
*Задача* Программа запрашивает число, пользователь вводит , например 10000 , тогда программа...

Поразрядная сортировка
Поразрядная сортировка является одним из видов сортировки, которые работают за линейное от размера...

Поразрядная сортировка
Подскажите плиз алгоритм поразрядной сортировки, желательно самый простой.


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru