что бы из двоичной системы перевести сразу в восьмиричную, необходимо разбить число на тройки и в каждой тройке посчитать полученное число(как в десятичной системе):
110 110 , 01 = 66,25
чтобы перевести сразу в шестнидцатеричную, необходимо проделать тоже самое, только разбить на 4:
0011 0110 , 01 = 36,25
2. Что бы перевести число из десятичной СС в любую другую, надо данное число разделить на основение требуемой системы нацело. Если остается остаток, то его записать. и продолжать так делить до тех пор, пока часное не перестанет делитсчя нацело. после чего записываем последнее часное и все остатки в обратном направлении.
Тут используется собственная функция для нахождения степени числа.
#include <iostream>
using std::cout;
using std::cin;
using std::endl;
int powerFunction(int, int);
int main()
{
int number, power;
cout << "Enter A: ";
cin >> number;
cout << "Enter N: ";
cin >> power;
cout << number << " to the power of " << power
<< " = " << powerFunction(number, power) << endl;
return 0;
}
int powerFunction(int n, int p)
{
int temp = 1;
for(int i = 0; i < p; i++)
{
temp *= n;
}
return temp;
}
1. чтобы перевести тз любой позиционной СС в десятичную:
1) запишите число
2) сверху, над каждой цифрой напишите число от 0 и до скольки получится, считая справа налево от запятой
3) так же степени раставьте после запятой, только числа используйте отрицательные(-1, -2...) и пишите их слева направо
4) запишите число в развернутом виде с учетом записанных степеней: пишем цифру и умножаем на основание СС в степени,записанной над данной цифрой
5) считаем
5 4 3 2 1 0 -1-2
1 1 0 1 1 0 , 0 1 = 1*2^5 + 1*2^4 + 0*2^3 + 1*2^2 + 1*2^1 + 0*2^0 + 0*2^-1 + 1*2^-2 = 32+16+0+4+2+0+0+0.25 = 54.25
что бы из двоичной системы перевести сразу в восьмиричную, необходимо разбить число на тройки и в каждой тройке посчитать полученное число(как в десятичной системе):
110 110 , 01 = 66,25
чтобы перевести сразу в шестнидцатеричную, необходимо проделать тоже самое, только разбить на 4:
0011 0110 , 01 = 36,25
2. Что бы перевести число из десятичной СС в любую другую, надо данное число разделить на основение требуемой системы нацело. Если остается остаток, то его записать. и продолжать так делить до тех пор, пока часное не перестанет делитсчя нацело. после чего записываем последнее часное и все остатки в обратном направлении.
139| 2
138 69| 2
1 68 34| 2
1 34 17| 2
0 16 8| 2
0 8 4| 2
0 4 2| 2
0 2 1
0
139 = 10000011