0 / 0 / 0
Регистрация: 10.05.2018
Сообщений: 3
1

Перевод из десятичной системы счисления в двоичную

10.05.2018, 20:53. Показов 4993. Ответов 6
Метки нет (Все метки)

Привет, программирую (учусь) около недели, и вот хотел написать программу. Так сказать калькулятор из десятичной системы исчисления в двоичную.Вот пример моей программы(сижу уже думаю часа 4, пробовал через разные циклы):
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
int main()
{
    int x;
    cin >> x;
    do {
        x = x % 2;
        if (x == 0) {
 
            cout << "0";
            x = x / 2;
 
        }
        else {
            x = x / 2;
            cout << "1";
        }
    } while (x == 1);
    return 0;
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.05.2018, 20:53
Ответы с готовыми решениями:

Перевод из десятичной системы счисления в двоичную
Задали написать прогу для перевода числа из одной системы в другую #include &lt;iostream&gt; #include...

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

Перевод из десятичной системы счисления в двоичную в массиве
Мне необходимо каждый элемент массива перевести из десятичной системы счисления в двоичную. При...

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

6
Диссидент
Эксперт C
26949 / 16830 / 3698
Регистрация: 24.12.2010
Сообщений: 37,768
10.05.2018, 21:41 2
C++
1
2
3
4
5
6
7
char b[100]; int k=0;
while(x) {
  b[k++] = '0' + x%2;
  x /= 2;
}
for(int i=k; i>=0; i--)
  cout << b[i];
0
731 / 548 / 307
Регистрация: 24.02.2017
Сообщений: 1,937
11.05.2018, 09:41 3
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
#include <iostream>
#include <sstream>
using namespace std;
 
int main()
{
 
  int x,a=1;
  stringstream s;
  size_t i=0;
 
  cin>>x;
  while(x){
    s<<x%2;
    x/=2;
    }
  while(s.str()[i]!='\0'){
     x+=(s.str()[i++]-'0')*a;
     a*=10;
     }
  cout<<x;
  system("pause");
  return 0;
}
0
14 / 14 / 8
Регистрация: 10.12.2015
Сообщений: 157
11.05.2018, 10:02 4
коротко и ясно

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int x;   // значение
    int sz = 8*sizeof(x);  //размер значения
 
    cout << "Input a val:";
    cin >> x;
 
 
    string res; //результат
    for(int i = 0; i < sz; ++i)
    {
      res.insert(res.begin(),int(x>>i & 0b1) + '0'); //добавляем в начало строки по 1 биту
    }
 
    cout << res;  //выводим
0
Диссидент
Эксперт C
26949 / 16830 / 3698
Регистрация: 24.12.2010
Сообщений: 37,768
11.05.2018, 10:43 5
Цитата Сообщение от повар1 Посмотреть сообщение
while(s.str()[i]!='\0'){
* * *x+=(s.str()[i++]-'0')*a;
* * *a*=10;
* * *}
Недостатки этого подхода обсуждались Операции с битами
Для проверки можно попробовать перевести что нибудь типа 123456(10)
0
3503 / 2122 / 395
Регистрация: 09.09.2017
Сообщений: 8,788
11.05.2018, 11:42 6
C
1
2
3
4
5
6
7
8
9
10
11
12
#include <stdio.h>
 
int main(){
  unsigned int x, mask;
  scanf("%i", &x);
  mask = ((typeof(mask))-1) &~(((typeof(mask))-1)>>1); //немного черной магии
  while(!(x & mask))mask>>=1;
  printf("0b");
  for(; mask != 0; mask>>=1)
    if(x & mask)putchar('1'); else putchar('0');
  printf("\n");
}
0
14 / 14 / 8
Регистрация: 10.12.2015
Сообщений: 157
11.05.2018, 12:30 7
Раз уж о черной магии

C++ (Qt)
1
2
3
4
5
    int x;
    cout << "Input a val:";
    cin >> x;
 
    cout << bitset<8*sizeof(x)>(x);
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.05.2018, 12:30
Помогаю со студенческими работами здесь

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

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

Длинная арифметика. Перевод из десятичной системы счисления в двоичную
требуется написать программу для перевода числа с количеством цифр &gt;20 из десятичной системы...

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


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru