1. Шестнадцатиричное представление переводим в десятичное.
Записываем 4A98 в расширенной форме по степеням основания (т.е. 16 в нашем случае):
![4A98.BC2_{16}=4\times 16^3+10\times 16^2+9\times 16^1+8\times 16^0+ \\ 11\times 16^{-1}+12\times 16^{-2}+2\times 16^{-3}= \\ 16384+2560+144+8+ \frac{11}{16}+ \frac{12}{256}+ \frac{2}{4096} =19096\frac{1505}{2048}}= \\ 19096.73486328125_{10}](https://tex.z-dn.net/?f=4A98.BC2_%7B16%7D%3D4%5Ctimes+16%5E3%2B10%5Ctimes+16%5E2%2B9%5Ctimes+16%5E1%2B8%5Ctimes+16%5E0%2B+%5C%5C+11%5Ctimes+16%5E%7B-1%7D%2B12%5Ctimes+16%5E%7B-2%7D%2B2%5Ctimes+16%5E%7B-3%7D%3D+%5C%5C+16384%2B2560%2B144%2B8%2B+%5Cfrac%7B11%7D%7B16%7D%2B+%5Cfrac%7B12%7D%7B256%7D%2B+%5Cfrac%7B2%7D%7B4096%7D+%3D19096%5Cfrac%7B1505%7D%7B2048%7D%7D%3D+%5C%5C+19096.73486328125_%7B10%7D+)
2. Шестнадцатиричное представление переводим в восьмеричное.
Поскольку
![16=2^4; \ 8=2^3](https://tex.z-dn.net/?f=16%3D2%5E4%3B+%5C+8%3D2%5E3)
, перевод удобно сделать через промежуточную двоичную систему.
Каждую шестнадцатиричную цифру заменяем четырьмя двоичными цифрами (так называемой тетрАдой).
0100 1010 1001 1000 . 1011 1100 0010 (2)
Разбиваем двоичное число на триАды (по три разряда) влево и вправо от десятичной точки и каждую триаду заменяем восьмеричной цифрой (они по написанию совпадают с десятичными). Если разрядов для триады не хватает, дополняем их нулями слева для целой части и справа для дробной.
100101010011000.10111100001 (2)= 100 101 010 011 000.101 111 000 010=
45230.5702(8)
Ответ: 4A98.BC2(16)=19096.73486328125(10)=45230.5702(8)
//Вы принимаете введенный символ в char, а в switch пытаетесь использовать двузначные числа (10, 11, 12). Даже если вы ввели "11", то в Char приходит только первый введенный символ, т.е "1", и выводится соответственно "январь". Чтобы использовать двузначные числа, нужно использовать переменную с другим типом данных, например int или string.
//Также я ввел поддержку русского языка в консоль, у меня во всяком случае консоль по умолчанию не поддерживает русские символы
//Еще я убрал переменную С, так как не понял, зачем вы ее вообще ввели (она нигде не используется)
#include <iostream>
#include <locale>
using namespace std;
int main()
{
setlocale(LC_ALL, "Russian");
string b;
int a;
cin » a;
switch (a)
{
case 1: b = "январь"; break;
case 2: b = "февраль"; break;
case 3: b = "март"; break;
case 4: b = "апрель"; break;
case 5: b = "май"; break;
case 6: b = "июнь"; break;
case 7: b = "июль"; break;
case 8: b = "август"; break;
case 9: b = "сентябрь"; break;
case 10: b = "октябрь"; break;
case 11: b = "ноябрь"; break;
case 12: b = "декабрь"; break;
default: b = "Ошибка!"; break;
}
cout « endl « b « endl;
return 0;
}
1*10^1+3*10^0+2*10^-1+1*10^-2
1*8^2+2*8^1+3*8^0+2*8^-1
1*16^1+2*16^0+3*16^-1
<u>данные</u> - это информация, обрабатываемая и хранящаяся на компьютере