ВУЗ:
Составители:
Рубрика:
75
образуют требуемое представление числа. Поэтому остатки от деления
заносятся в стек, а затем извлекаются из него для формирования строкового
представления записи числа. Если основание системы счисления больше 10
(в этом случае для записи числа используются буквенные обозначения), в
строку заносится соответствующий символ (10 – ‘A’, 11 – ‘B’ и т.д.).
Решение данной задачи оформлено в виде функции, в которой
используется объект класса Stack и его методы.
// определение функции перевода положительного целого числа
// из десятичной системы счисления в любую заданную
// с основанием от 2 до 16.
// number - положительное целое число
// в десятичной системе счисления
// baseSS – основание системы счисления
// функция возвращает строковое представление записи числа
static string PreobrChislo(int number, int baseSS)
{
// создается стек для хранения целых чисел
Stack<int> s = new Stack<int>();
// вычисленные остатки от деления числа
// на основание системы счисления помещаются в стек
while(number != 0)
{
s.Push(number % baseSS);
number = number / baseSS;
}
// формирование строкового представления записи числа
// путем извлечения значений из стека
string res="";
try
{
while(true)
{
int n = s.Pop();
if(n < 10)
res = res + n;
else
res = res + (char)((int)'A' + n - 10);
}
}
catch(Exception e)
{
// когда стек становится пустым,
// представление числа сформировано
}
return res;
}
образуют требуемое представление числа. Поэтому остатки от деления заносятся в стек, а затем извлекаются из него для формирования строкового представления записи числа. Если основание системы счисления больше 10 (в этом случае для записи числа используются буквенные обозначения), в строку заносится соответствующий символ (10 – ‘A’, 11 – ‘B’ и т.д.). Решение данной задачи оформлено в виде функции, в которой используется объект класса Stack и его методы. // определение функции перевода положительного целого числа // из десятичной системы счисления в любую заданную // с основанием от 2 до 16. // number - положительное целое число // в десятичной системе счисления // baseSS – основание системы счисления // функция возвращает строковое представление записи числа static string PreobrChislo(int number, int baseSS) { // создается стек для хранения целых чисел Stacks = new Stack (); // вычисленные остатки от деления числа // на основание системы счисления помещаются в стек while(number != 0) { s.Push(number % baseSS); number = number / baseSS; } // формирование строкового представления записи числа // путем извлечения значений из стека string res=""; try { while(true) { int n = s.Pop(); if(n < 10) res = res + n; else res = res + (char)((int)'A' + n - 10); } } catch(Exception e) { // когда стек становится пустым, // представление числа сформировано } return res; } 75
Страницы
- « первая
- ‹ предыдущая
- …
- 74
- 75
- 76
- 77
- 78
- …
- следующая ›
- последняя »