Статистика
Всего в нашей базе более 4 327 663 вопросов и 6 445 977 ответов!

Написать алгоритм перевода чисел из 10тичной системы счисления в любую другую (от 2ичной до 36ричной) и обратно Вся прогамма не нужна,

10-11 класс

только две функции

Желательно на С#, но можно и на других языках

Хотелось бы увидеть красивый и логичный код с красиво назваными переменными и без костылей

Могу и сама но некогда этим заниматься

Nazimkina5 15 окт. 2016 г., 10:33:01 (7 лет назад)
Рейтинг
+ 0 -
0 Жалоба
+ 0 -
камран69892569083
15 окт. 2016 г., 13:04:41 (7 лет назад)

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);
}

+ 0 -
Zarrah
15 окт. 2016 г., 15:32:27 (7 лет назад)

var
a,b,c,i,n,p,s:integer;
x:real;
p1,g:string;
begin
writeln('vvedite chislo');
readln(a);
writeln('is kakoi perevodim?');
readln(b);
if b=10 then begin
writeln('v kakoi perevodim?');
readln(c);
end;
n:=0;
p:=0;

 

if b<>10 then begin      'is 10 v lubuyu sistemu
repeat
x:=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 10
g:=IntToStr(a mod c);
p1:=p1 + g;
a:=a div c;
until a<c;
p1:=p1+IntToStr(a);
end;


if p=0 then begin         'vivod
for i:=1 to length(p1) do
write(p1[length(p1)-i+1]);
end
else
write(p);
end.

Ответить

Другие вопросы из категории

Найдите ошибку Uses crt;

Var n,i,k,sum:integer;
sr:real;
m:array [1..100] of integer;
begin clrscr; Writeln ('Vvedite kol-vo chisel ');
Readln (n); For i:=1 to n do begin writeln ('vvedite ',i,' chislo ');
Readln (m[i]); end; writeln (' Polycheny chisla ');
For i:=1 to n do write (m[i]:4);
for i:=1 to n do if m[i]>0 then begin m[i]:=sin(i)*cos(i);
sum:=sum+m[i];
k:=k+1;
Sr:=sum/k;
end;
Writeln;
Writeln ('Sr = ',sr:4:2);
Readln;
end.

Что из перечисленных не является объектом электронной таблицы

А)диаграмма Б)вопрос С)книга Д)столбец

Читайте также

Трехзначное число, записанное в шестнадцатеричной системе счисления, увеличива-ется вдвое от перестановки первой цифры в конец числа. Определите

максимальное из таких чисел, записанное в системе счисления по основанию 16.

Ответить на следующие вопросы: 1)Информация, виды и формы информации 2)Алгоритмы, свойства алгоритмов 3)Системы счисления, перевод из одной системы

счисления в другую прошу очень кратко, и подробно расскажите о переводе из одной системы счисления в другую

Нужно перевести несколько чисел из одной системы счисления в другую: 1) число 161 из 10 с.с. в 2 с.с.; 2) число 3284 из 10 с.с. в 6 с.с.; 3) число 53996

из 10 с.с. в 16 с.с.; 4) число 11021021 из 3 с.с. в 10 с.с.; 5) число A369 из 16 с.с. в 8 с.с.

5. Системы счисления.

a. Переведите данное число из десятичной системы счисления в двоичную, восьмеричную и шестнадцатеричную системы счисления: 114,22510
b. Переведите данные числа в десятичную систему счисления:
100111100,11012
1234,58
2B3,F416
c. Сложите числа:
1001100111,112 + 100001101,1012
272,348 + 1567,28
65,216 + ЗСА,716
d. Выполните вычитание:
1110110110,00112 – 11111110,012
1360,148 – 1216,48
ЗЗВ,616 – 11В,416

e. Выполните умножение
111,1012*1012
124,38*378
1А416*F316
6. В системе счисления с некоторым основанием десятичное число 49 записывается в виде 100. Укажите это основание.



Вы находитесь на странице вопроса "Написать алгоритм перевода чисел из 10тичной системы счисления в любую другую (от 2ичной до 36ричной) и обратно Вся прогамма не нужна,", категории "информатика". Данный вопрос относится к разделу "10-11" классов. Здесь вы сможете получить ответ, а также обсудить вопрос с посетителями сайта. Автоматический умный поиск поможет найти похожие вопросы в категории "информатика". Если ваш вопрос отличается или ответы не подходят, вы можете задать новый вопрос, воспользовавшись кнопкой в верхней части сайта.