Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
dmitry_121
0 / 0 / 0
Регистрация: 21.01.2016
Сообщений: 3
#1

Перевести числа из шестнадцатиричной системы счисления в двоичную - C++

21.01.2016, 20:31. Просмотров 686. Ответов 4
Метки нет (Все метки)

Как в С++ перевести из 16 системы в 2-ю,спасибо
http://www.cyberforum.ru/cpp-beginners/thread1713991.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.01.2016, 20:31
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Перевести числа из шестнадцатиричной системы счисления в двоичную (C++):

Перевести число из десятичной системы счисления в двоичную
Помогите сделать программу, которая будет переводить из децимальной...

Как перевести с десятичной системы счисления в двоичную ?
Здравствуйте. Не могу разобраться с этой задачей . Нужно перевести число с ...

Перевести число из десятичной системы счисления в двоичную и обратно
Перевести число из десятичной СС в двоичную, отсортировать двоичное число по...

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

Перевести целое число из десятичной системы счисления в двоичную, используя алгоритм деления на 2
как решается?!Над тремя задачами уже часа два бьюсь! 16. Перевести целое...

4
zss
Модератор
Эксперт С++
6952 / 6514 / 4135
Регистрация: 18.12.2011
Сообщений: 17,179
Завершенные тесты: 1
21.01.2016, 21:31 #2
Лучший ответ Сообщение было отмечено gru74ik как решение

Решение

Предлагаю не оптимальный, но очевидный алгоритм.
Заведите массив 16-ичных цифр и соответствующий им массив строк двоичных цифр
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
char dig16[17]="01234567890abcdef";
string dig2[16]={"0000","0001",  и т.д. ,"1111"};
string val="fa7e",result;
for(int i=0;i<val.size();i++)
{
    for(int j=0;j<16;j++)
       if(val[i]==dig16[j])
       {
            result+=dig2[j];
            break;
       }
}
cout<<result;
0
greg zakharov
Покинул форум
1937 / 813 / 233
Регистрация: 07.05.2015
Сообщений: 1,640
21.01.2016, 22:08 #3
Лучший ответ Сообщение было отмечено gru74ik как решение

Решение

Есть иной способ:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <sstream>
#include <bitset>
 
using namespace std;
 
int main(void) {
  string s = "0x10";
  stringstream ss;
  ss << hex << s;
  unsigned n;
  ss >> n;
  bitset<32> b(n);
  cout << b.to_string() << endl;
  
  return 0;
}
0
gray_fox
What a waste!
1552 / 1257 / 165
Регистрация: 21.04.2012
Сообщений: 2,634
Завершенные тесты: 3
21.01.2016, 22:11 #4
Лучший ответ Сообщение было отмечено gru74ik как решение

Решение

Как вариант в лоб с &:
C++
1
2
3
4
5
6
7
8
9
10
11
12
std::string const x16 {"01234567890abcdef"};
   
std::string x2;
x2.reserve(x16.size() * 4);
   
for (const auto ch : x16) {
   auto const digit = static_cast<unsigned char>(std::toupper(ch) - '0');
      
   for (std::size_t i = 4; i-- != 0; ) {
      x2.push_back(digit & (1u << i) ? '1' : '0');
   }
}
0
dmitry_121
0 / 0 / 0
Регистрация: 21.01.2016
Сообщений: 3
20.03.2016, 22:36  [ТС] #5
Как сделать так,чтобы пользователь вводил число.в самом простом варианте?
0
20.03.2016, 22:36
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.03.2016, 22:36
Привет! Вот еще темы с решениями:

Перевести целое число из десятичной системы счисления в двоичную (алгоритм + блок-схема)
Помогите пожалуйста сделать алгоритм блок-схемы .Задание:Перевести целое число...

Функция дляперевода чисел из шестнадцатиричной системы в двоичную.
Здравсствуйте. Возник, следующий вопрос, есть ли в MS VS 2008 функция для...

Перевод числа из десятичной системы счисления в двоичную
Как зделать програму которая бы считала перевод с 10-ичной системы в 2-ичную?...

Перевод числа из десятичной системы счисления в двоичную
Здравствуйте. Пытался написать пример перевода десятичного числа в двоичный с...


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

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

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