Написать алгоритм перевода чисел из 10тичной системы счисления в любую другую (от 2ичной до 36ричной) и обратно
Вся прогамма не нужна, только две функции
Желательно на С#, но можно и на других языках
Хотелось бы увидеть красивый и логичный код с красиво назваными переменными и без костылей
Могу и сама но некогда этим заниматься
Предмет:
ИнформатикаАвтор:
jaylonvsrqstatic 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); }
Автор:
giselavara,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.
Автор:
leonard38Добавить свой ответ
Предмет:
АлгебраАвтор:
alyvia0wr3Ответов:
Смотреть
укажите правильное объяснение пунктуации в предложении .
ПЕРВЫЕ СЛОВА ОРАТОР ПРОИЗНЕС КРОТКО И ПРОСТО,НО ВДРУГ ПОВЫСИЛ ГОЛОС (...) И СЛЕДУЮЕЕ СЛОВО ГРОМОМ ПРОКАТИЛОСЬ ПОД СВОДАМИ
1) Запятая на месте скобок не нужна ,потому что союз И соединяет однородные члены предложения
2) Запятая на месте скобок нужна ,потому что И присоединяет повторяющиеся однородные члены предложения
3)Запятая на месте скобок нужна,потому что И соединяет части сложного предложения
4)Запятая на месте скобок не нужна ,потому что части сложного предложения,соединяемые союзом И ,имеют общее главное предложение
Предмет:
Русский языкАвтор:
bartonОтветов:
Смотреть
Скласты структурни формули речовын 2-метылпентан
помогите пожалуйста!
Предмет:
ХимияАвтор:
lydiabryantОтветов:
Смотреть
Надо проверить пунктуацию и орфографию,нужна только идельно )))1)Поезд тащился медленно словно не хотя, ему казалось, что еще немного и он неутерпев схватит это неуклюжее громыхающее чудовище собственными руками и, не отдыхая будет толкать его до станции 2)Казалось cдесь нет места разрушению, ни что не хотело cдесь падать, разбиваться и жизнь cдесь текла неспешно, а размеренно и спокойно
Предмет:
Русский языкАвтор:
pongo30oqОтветов:
Смотреть