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

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

Войти
Регистрация
Восстановить пароль
 
123...
0 / 0 / 0
Регистрация: 07.01.2010
Сообщений: 17
#1

Определить, является ли симметричным двоичное представление длинного целого числа - C++

16.10.2010, 19:00. Просмотров 659. Ответов 3
Метки нет (Все метки)

Обработку двоичного числа делать без преобразование к строковому массиву, только сдвигами и битовыми операциями (&, | и т.д.)

-Определить, является ли симметричным двоичное представление длинного целого числа N.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.10.2010, 19:00
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Определить, является ли симметричным двоичное представление длинного целого числа (C++):

Получить двоичное строковое представление целого неотрицательного числа - C++
Помогите пожалуйста с программой, очень надо. Описать функцию DecToBin(N) строкового типа, возвращающую строковое представление...

Двоичное представление числа - C++
Введите целое положительное N и выведите его двоичное представление. Ниже представлен код, но он выводит число на оборот (то есть если...

Необходимо вывести двоичное представление числа на экран. - C++
Собственно само задание.. Код вроде вполне правильный, но все же не работает(( Не могу понять в чем проблема.. Прошу руку помощи)) ...

Определить, является ли массив симметричным? - C++
Символьный тип данных Введите массив символов из 7 элементов. Определите, является ли он симметричным (Симметричным считается массив,...

Посчитать 2 в степени целого длинного числа - C++
#include <iostream> #include <stdlib.h> using namespace std; int main() { int i; double long N,a; a=2;//Возводимое...

Определить, является ли введенная строка правильной записью целого шестнадцатеричного числа без знака - C++
Помогите с задачами. 1)Определить, является ли введенная строка правильной записью целого шестнадцатеричного числа без знака. 2)...

3
Day
1158 / 963 / 57
Регистрация: 29.10.2009
Сообщений: 1,385
16.10.2010, 20:50 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Предположим, что "длинное" - это "unsigned long" - 32 бита
C
1
2
3
4
5
6
7
8
9
10
11
12
13
  for(i=31; i>0; i--)
    if (N&(1L<<i))) break;  // Ищем старшую цифру
    if (i==0) {   // Число содержит 0 или 1 значащих цифр
      cout << "Simmetrichno";
      return;
   }
    for (j=0; j<i/2; j++)
      if ((N&(1L<j)) != ((N&(1L<<(i-j)))) break;
    if (j==i/2) {
      cout << "Simmetrichno"
      return;
   }
   else cout << "Net";
Не проверял.
Это просто идея.
Возможно, потребуется отладка и уточнения, но это уж ты сам.
1
123...
0 / 0 / 0
Регистрация: 07.01.2010
Сообщений: 17
17.10.2010, 23:40  [ТС] #3
спасибо)
0
123...
0 / 0 / 0
Регистрация: 07.01.2010
Сообщений: 17
22.10.2010, 03:35  [ТС] #4
а да и еще эта работа не на С++ а на С.
0
22.10.2010, 03:35
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.10.2010, 03:35
Привет! Вот еще темы с ответами:

Перевод отрицательного целого десятичного числа в двоичное - C++
Помогите решить эту задачу

Перевод отрицательного целого десятичного числа в двоичное - C++
Перевод отрицательного целого десятичного числа в двоичное

Инвертировать младший байт длинного целого числа - C++
записать выражение,которое инвертирует младший байт этого числа!!!как???

Получить двоичное представление числа р в виде последовательности нулей и единиц - C++
Дано натуральное число р. Получить двоичное представление числа р в виде последовательности а0, ...,аn нулей и единиц такой, что р=аn∙2n+…+...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

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