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

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

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

Определить значение двух последних разрядов двоичного числа - C++

05.03.2014, 14:20. Просмотров 353. Ответов 6
Метки нет (Все метки)

Дано число в двоичном виде, нужно узнать значение двух старших разрядов этого числа. Подкиньте идейку или напишите кусок программы, как это можно реализовать. Заранее благодарю.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.03.2014, 14:20     Определить значение двух последних разрядов двоичного числа
Посмотрите здесь:

C++ Определить сумму чётных разрядов числа и произведение нечётных
C++ составить линейную программу (сумма двух первых цифр заданного четырёхзначного числа равна сумме двух его последних цифр)
Определить, равна ли сума двух первых цифр четирезначного числа суме двух последних C++
C++ определить, совпадают ли суммы первых и последних трех цифр шестизначного числа
C++ Посчитать m последних разрядов числа n
C++ Дано натуральные числа n и m. Определить суму m последних цифр числа n.
C++ Найти максимальное значение среди разрядов целого числа a
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
school_bot
14 / 12 / 3
Регистрация: 23.12.2013
Сообщений: 84
05.03.2014, 15:07     Определить значение двух последних разрядов двоичного числа #2
делением на 2?

Добавлено через 6 минут
ну или, что то же самое, >> побитовым сдвигом. если число 8-битовое, то 6 раз.
b = a >> 6. затем если b четное, то предпоследний 0, и выводим b << 1. вот и получили
iMaximuM
0 / 0 / 0
Регистрация: 20.01.2014
Сообщений: 22
05.03.2014, 17:03  [ТС]     Определить значение двух последних разрядов двоичного числа #3
Делением на 2 хорошая идея, просто я достоверно не знаю, сколько цифр в числе, поэтому, вероятно, только делением.
Ilot
Модератор
Эксперт С++
1780 / 1155 / 223
Регистрация: 16.05.2013
Сообщений: 3,042
Записей в блоге: 5
Завершенные тесты: 1
05.03.2014, 17:13     Определить значение двух последних разрядов двоичного числа #4
Используйте побитовое смещение >>. Работает шустрее простого деления на 2.
MarVaL
С++ Beginner
 Аватар для MarVaL
116 / 116 / 16
Регистрация: 28.02.2013
Сообщений: 246
05.03.2014, 17:22     Определить значение двух последних разрядов двоичного числа #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
using namespace std;
int main()
{
    setlocale(LC_ALL, "russian");
 
    int someByte;
    cin >> someByte;
 
    cout << "Последний бит: "     << (someByte % 2) << endl
         << "Предпоследний бит: " << ((someByte >> 1) % 2) << endl;
 
    return 0;
}
gunslinger
случайный прохожий
 Аватар для gunslinger
1105 / 723 / 184
Регистрация: 20.07.2013
Сообщений: 1,989
05.03.2014, 19:43     Определить значение двух последних разрядов двоичного числа #6
Как я понимаю, старшие разряды - это первые цифры слева (а не последние), тогда:
C++
1
2
3
4
5
6
7
8
9
10
  int x = 500;
  while (x > 3)
    x >>= 1;
  switch (x)
  {
    case 3: x = 11; break;
    case 2: x = 10; break;
    case 1: x = 01; break;
    case 0: x = 00;
  }
Только для случая x = 1 или 0 нужно предусмотреть вывод первой цифрой 0.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.03.2014, 21:48     Определить значение двух последних разрядов двоичного числа
Еще ссылки по теме:

Проверить, как изменилось количество разрядов в числе M по сравнению с количеством разрядов числа N C++
C++ Проверить как изменится количество разрядов в числе M по сравнению с количеством разрядов числа N
C++ Найти все четырехзначные числа у которых сумма первых двух цифр равна сумме двух последних
Определить значения и позиции, последних двух чётных элементов заданного одномерного массива C++
Определить, равна ли сумма первых двух цифр четырехзначного числа сумме двух последних цифр C++

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

Или воспользуйтесь поиском по форуму:
castaway
Эксперт С++
4870 / 3009 / 370
Регистрация: 10.11.2010
Сообщений: 11,059
Записей в блоге: 10
Завершенные тесты: 1
05.03.2014, 21:48     Определить значение двух последних разрядов двоичного числа #7
Допустим число дано не в двоичном виде...
C++
1
2
unsigned value = 123;
unsigned two_msb = value >> (sizeof( value ) * 8 - 2);
Два старших бита станут двумя младшими.
Yandex
Объявления
05.03.2014, 21:48     Определить значение двух последних разрядов двоичного числа
Ответ Создать тему
Опции темы

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