B = 28 после всех вычислений. Идёт сравнение: если модуль числа A < B, то цикл повторяется и от A отнимается 2. После первого цикла A станет -2, но, т.к. с B мы сравниваем модуль A, то 2 < 27. И так далее 14 раз, пока А не станет = -28, условие выполнится и B станет = |-28| = 28. И программа завершится.
1001001110 = 1∙2^9+0∙2^8+0∙2^7+1∙2^6+0∙2^5+0∙2^4+1∙2^3+1∙2^2+1∙2^1+0∙2^0 = 512+0+0+64+0+0+8+4+2+0 = 590. Т.е. 1001001110 в двоичной системе = 590 в десятичной системе.
Если писать как программу - то код будет выглядеть так:
static void Main(string[] args)
{
string btn = "1001001110";
int result = Convert.ToInt32(btn, 2);
Console.WriteLine("Число в десятичной системе = " + result);
B = 28 после всех вычислений. Идёт сравнение: если модуль числа A < B, то цикл повторяется и от A отнимается 2. После первого цикла A станет -2, но, т.к. с B мы сравниваем модуль A, то 2 < 27. И так далее 14 раз, пока А не станет = -28, условие выполнится и B станет = |-28| = 28. И программа завершится.
В виде кода это выглядит так:
static void Main(string[] args)
{
int a = 0, b = 27;
while(Math.Abs(a) < b)
{
a = a - 2;
}
b = Math.Abs(a);
Console.WriteLine("Число B = " + b);
Console.ReadKey();
}
Объяснение:
Если просто перевести - то получится:
1001001110 = 1∙2^9+0∙2^8+0∙2^7+1∙2^6+0∙2^5+0∙2^4+1∙2^3+1∙2^2+1∙2^1+0∙2^0 = 512+0+0+64+0+0+8+4+2+0 = 590. Т.е. 1001001110 в двоичной системе = 590 в десятичной системе.
Если писать как программу - то код будет выглядеть так:
static void Main(string[] args)
{
string btn = "1001001110";
int result = Convert.ToInt32(btn, 2);
Console.WriteLine("Число в десятичной системе = " + result);
Console.ReadKey();
}
Объяснение: