Skip to content
Snippets Groups Projects

nithin request

Closed Ghost User requested to merge master into main
2 files
+ 71
0
Compare changes
  • Side-by-side
  • Inline
Files
2
Program.cs 0 → 100644
+ 61
0
namespace Test;
class Program
{
static void Main(string[] args)
{
string num1=Console.ReadLine();
string num2=Console.ReadLine();
string[] num1_parts=num1.Split('.');
string[] num2_parts=num2.Split('.');
string num1_deci=DecimalConv(num1_parts[0]);
string num1_frac=FracConv(num1_parts[1]);
string num2_deci=DecimalConv(num2_parts[0]);
string num2_frac=FracConv(num1_parts[0]);
int c=0;
while(num1_frac.Length<num2_frac.Length)num1_frac+='0';
while(num2_frac.Length<num1_frac.Length)num2_frac+='0';
while(num1_deci.Length<num2_deci.Length)num1_deci='0'+num1_deci;
while(num2_deci.Length<num1_deci.Length)num2_deci='0'+num2_deci;
string frac=add(num1_frac,num2_frac,c);
string deci=add(num1_deci,num2_deci,c);
if(deci=="")deci="0";
Console.WriteLine(deci+"."+frac);
}
static string DecimalConv(string str)
{
int num=Convert.ToInt32(str);
string s="";
while(num>0)
{
s=(char)(num%2+'0')+s;
num=num/2;
}
return s;
}
static string FracConv(string str)
{
str="0."+str;
float num=float.Parse(str);
string s="";
int n=6;
while(n-->0)
{
if(num*3>=2.00)
{
s+='1';
num=num*2-1;
}
else
{
s+='0';
num=num*2;
}
}
return s;
}
\ No newline at end of file
Loading