Написать алгоритм перевода чисел из 10тичной системы счисления в любую другую (от 2ичной до 36ричной) и обратно вся прогамма не нужна, только две функции желательно на с#, но можно и на других языках хотелось бы увидеть красивый и логичный код с красиво назваными переменными и без костылей могу и сама но некогда этим заниматься
Ответы на вопрос:
vara,b,c,i,n,p,s: integer; x: real; p1,g: string; beginwriteln('vvedite chislo'); readln(a); writeln('is kakoi perevodim? '); readln(b); if b=10 then beginwriteln('v kakoi perevodim? '); readln(c); end; n: =0; p: =0;
if b< > 10 then begin 'is 10 v lubuyu sistemurepeatx: =exp(ln(b)*n); s: =round(x); p: =p + (a mod 10)*s; a: = a div 10; n: =n+1; until a=0; end
else begin
repeat 'is luboi sistemi v 10g: =inttostr(a mod c); p1: =p1 + g; a: =a div c; until a< c; p1: =p1+inttostr(a); end;
if p=0 then begin 'vivodfor i: =1 to length(p1) dowrite(p1[length(p1)-i+1]); endelsewrite(p); end.
static string decantjetobin(int antje) { /*if (antje == 0) return "0"; */ //косметический 0 перед запятой если целая часть равна 0 string bin = "";
while (antje ! = 0) { bin = (antje % 2).tostring() + bin; antje /= 2; } return bin; }
static string decmanttobin(float mant, int precision) { /*if (mant == 0) return "0"; */ //косметический 0 после запятой если дробная часть равна 0 string bin = ""; while (mant ! = 0 & & bin.length < = precision) { mant *= 2; bin += ((int)mant).tostring(); mant -= (int)mant; } return bin; }
static string dectobin(float dec, int precision) { int antje = (int)dec; float mant = dec - antje; return decantjetobin(antje) + "," + decmanttobin(mant, precision); }
static string dectobin(int dec) { return decantjetobin(dec); }
static float pow(int a, int x) { float result = 1; if (x > 0) for (int i = 0; i < x; i++) result *= a; else for (int i = x; i < 0; i++) result /= a; return result; }
static float binmanttodec(string mant) { float decmant = 0; for (int i = 0; i < mant.length; i++) if (mant[i] == '1') decmant += pow(2, -(i + 1)); return decmant; }
static float binantjetodec(string antje) { float decantje = 0; for (int i = 0; i < antje.length; i++) if (antje[i] == '1') decantje += pow(2, antje.length - i - 1); return decantje; }
static float bintodec(string bin) { int indexsep = bin.indexof(',');
if (indexsep == -1) return binantjetodec(bin);
string binant = bin.substring(0, indexsep); string binmant = bin.substring(indexsep + 1);
return binantjetodec(binant) + binmanttodec(binmant); }
допустим, что a и b входят в этот промежуток.
program test; var a, b, sum, i: integer; begin write('enter two integers: '); readln(a, b); sum: =0; for i: =a to b do sum: =sum+i; write('sum = ', sum); readln; end.
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
долма122.04.2023 17:26
-
gambab25.08.2020 00:30
-
Михаилович22329.05.2021 22:15
-
petrachenkov20119.01.2022 15:39
-
Nurlan201003.02.2023 23:21
-
дашасалищева22.11.2021 00:17
-
Тимур0000000008.06.2020 07:48
-
Kseniya00000123.02.2020 01:21
-
Amshvd13.10.2022 02:34
-
Соска99706.05.2022 13:54
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.