Другие языки программирования и технологии

Как число 1000 в троичной системе перевести в двоичную систему?

Костя Штин
Костя Штин
985
Сначала в десятичную, а потом в двоичную. Для перевода в десятичную надо каждую цифру умножить на число 3 в степениях от нуля и выше, начиная справа налево, и сложить эти произведения, то есть- 0*3 в нулевой + 0* 3 в первой + 0* 3 во второй + 1*3 в третьей степени=
это будет в десятичной (=27). А потом ответ разделить на 2 (27/2), ОСТАТКИ от деления, записанные задом наперед, дадут число в новой двоичной системе.
АК
Андрей Кутарев
3 478
Лучший ответ
переведите число 1000 из троичной системы в десятичную, получите 27
переведите полученное число 9 из десятичной системы в двоичную, получите 11011
Переведи сначала в десятичную - 27, а потом в двоичную - 11011.
Крис Искаков
Крис Искаков
56 928
#include <locale.h>
#include <iostream>
using namespace std;

int Convert3(const char *pString)
{
// В машине есть только одно представление с которым она делает
// ариметику - двоичное. Десятичного, троичного и прочего нет
// Поэтому ввести троичное число можно только в виде строки
// Из строкового представления переводиться прямо в двоичное
// Но желательно знать какие цифры используются для обозначения
// разрядов.

int B = 3; // основание системы
int n = 0;
while (*pString != 0)
{
int d = *pString - '0'; // очередная цифра
if (d < 0 || d > 2)
{
cout << "неверная цифра" << d << "\n";
}
n *= B;
n += d;
pString++;
}
return n;
}

int main()
{
setlocale(0, "rus");
char N[10];
cout << "введите троичное число ";
cin >> N;
cout << "\n";

int n = Convert3(N);
cout << "равно " << n << "\n";

// n - это уже двоичное число
// Если хочешь увидеть n в двоичном виде, а не в десятичном, как покажет cout
// то либо cout настраивай на двоичный вывод целых чисел,
// либо почередно выдирай битики из n, и отправляй их на cout в виде чисел 0,1

return 0;
}
Равиль Дюсенов
Равиль Дюсенов
21 360
1 0 0 0 - > 3^3 + 0^2 + 0 ^1 + 0^0 - в десятичной системе это 27. а в двоичной - 0010 (двойка) 0111 (семерка) - стало быть 00100111
Styven
Styven
6 196
Андрей Солдатенко что-то вы городите не то)))
Загир Нухаев Да, идиотизм вечен. Да еще и отвечать пытаешься с такими знаниями.
пощитать надо
http://algolist.manual.ru/maths/teornum/count_sys.php если разбиретесь то тут все есть.. .по моему самое наглядное....
Саид Рощаев
Саид Рощаев
2 744