using
System;
using
System.Text;
public
class
GFG{
static
String bcdToBinary(String s)
{
int
l = s.Length;
int
num = 0;
int
mul = 1;
int
sum = 0;
for
(
int
i = l % 4 - 1; i >= 0; i--)
{
sum += (s[i] -
'0'
) * mul;
mul *= 2;
}
num = sum;
sum = 0;
mul = (
int
)Math.Pow(2, 3);
int
ctr = 0;
for
(
int
i = l % 4; i < l; i++)
{
ctr++;
sum += (s[i] -
'0'
) * mul;
mul /= 2;
if
(ctr == 4)
{
num = num * 10 + sum;
sum = 0;
mul = (
int
)Math.Pow(2, 3);
ctr = 0;
}
}
String ans =
""
;
while
(num > 0)
{
ans += (
char
)(num % 2 +
'0'
);
num /= 2;
}
StringBuilder ans1 =
new
StringBuilder();
ans1.Append(ans);
ans = reverse(ans1.ToString());
return
ans;
}
static
String reverse(String input)
{
char
[] a = input.ToCharArray();
int
l, r = a.Length - 1;
for
(l = 0; l < r; l++, r--)
{
char
temp = a[l];
a[l] = a[r];
a[r] = temp;
}
return
String.Join(
""
,a);
}
public
static
void
Main(String[] args)
{
String s =
"1001000"
;
Console.WriteLine(bcdToBinary(s));
}
}