Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.03.2018, 10:51   #1
chimera14
Новичок
Джуниор
 
Регистрация: 28.03.2018
Сообщений: 5
По умолчанию Перевод из двоичной в десятичную

Имеется программа на C#, которая выводит несколько чисел в двоичной системе. Чем нужно дополнить код, чтобы числа перед выводом конвертировались в десятичную?
chimera14 вне форума Ответить с цитированием
Старый 28.03.2018, 11:06   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от chimera14 Посмотреть сообщение
Имеется программа на C#, которая выводит несколько чисел в двоичной системе.
где имеется? не увидел её.


Цитата:
Сообщение от chimera14 Посмотреть сообщение
Чем нужно дополнить код, чтобы числа перед выводом конвертировались в десятичную?
Давайте угадаю - её нужно дополнить кодом вывода чисел в десятичной СС ?
Угадал?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 28.03.2018, 11:20   #3
chimera14
Новичок
Джуниор
 
Регистрация: 28.03.2018
Сообщений: 5
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
где имеется? не увидел её.

static void Main(string[] args)
{
int n = 10;
for (int i = 0; i < n; i++)
Console.WriteLine(string.Join("", Enumerable.Range(0, 8)
.Select((v, p) => p + 1 == i || p + 1 == n - i - 1 ? '1' : '0')));
Console.ReadKey();
}



Давайте угадаю - её нужно дополнить кодом вывода чисел в десятичной СС ?
Угадал?
именно так, комрад
chimera14 вне форума Ответить с цитированием
Старый 28.03.2018, 11:51   #4
chimera14
Новичок
Джуниор
 
Регистрация: 28.03.2018
Сообщений: 5
По умолчанию

Не знаю, ответил ли я на твоё сообщение, но в общем ответ выше
chimera14 вне форума Ответить с цитированием
Старый 28.03.2018, 12:23   #5
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

Код:
public class Program
    {
        public static int ToDec(string bin)
        {
            var result = 0;
            for (int i = 0; i < bin.Length; ++i)   
            {
                if (bin[bin.Length - i - 1] == '1')
                {
                  result += (int) Math.Pow(2, i);
                }
            }
            return result;
        }
        
        public static void Main(string[] args)
        {
            int n = 10;
            for (int i = 0; i < n; i++)
                Console.WriteLine(ToDec(string.Join("", Enumerable.Range(0, 8)
                    .Select((v, p) => p + 1 == i || p + 1 == n - i - 1 ? '1' : '0'))));
            Console.ReadKey();
        }
    }
pu4koff вне форума Ответить с цитированием
Старый 28.03.2018, 14:22   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от pu4koff Посмотреть сообщение
Код
Простите, а почему не использовать стандартные методы ? Convert.ToInt32() прекрасно конвертирует в том числе и двоичные числа.
Код:
        public static void Main(string[] args)
        {
		int n = 10;
		for (int i = 0; i < n; i++) {
			string sBynary = string.Join("",Enumerable.Range(0, 8)
			    .Select((v, p) => p + 1 == i || p + 1 == n - i - 1 ? '1' : '0'));
			Console.WriteLine("{0} десятичное = {1} ", sBynary, Convert.ToInt32(sBynary,2) );
		}
		Console.ReadKey();			            
        }
Serge_Bliznykov вне форума Ответить с цитированием
Старый 28.03.2018, 14:54   #7
chimera14
Новичок
Джуниор
 
Регистрация: 28.03.2018
Сообщений: 5
По умолчанию

Цитата:
Сообщение от pu4koff Посмотреть сообщение
Код:
public class Program
    {
        public static int ToDec(string bin)
        {
            var result = 0;
            for (int i = 0; i < bin.Length; ++i)   
            {
                if (bin[bin.Length - i - 1] == '1')
                {
                  result += (int) Math.Pow(2, i);
                }
            }
            return result;
        }
        
        public static void Main(string[] args)
        {
            int n = 10;
            for (int i = 0; i < n; i++)
                Console.WriteLine(ToDec(string.Join("", Enumerable.Range(0, 8)
                    .Select((v, p) => p + 1 == i || p + 1 == n - i - 1 ? '1' : '0'))));
            Console.ReadKey();
        }
    }
Благодарю!
chimera14 вне форума Ответить с цитированием
Старый 28.03.2018, 14:57   #8
chimera14
Новичок
Джуниор
 
Регистрация: 28.03.2018
Сообщений: 5
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
Простите, а почему не использовать стандартные методы ? Convert.ToInt32() прекрасно конвертирует в том числе и двоичные числа.
Код:
        public static void Main(string[] args)
        {
		int n = 10;
		for (int i = 0; i < n; i++) {
			string sBynary = string.Join("",Enumerable.Range(0, 8)
			    .Select((v, p) => p + 1 == i || p + 1 == n - i - 1 ? '1' : '0'));
			Console.WriteLine("{0} десятичное = {1} ", sBynary, Convert.ToInt32(sBynary,2) );
		}
		Console.ReadKey();			            
        }
и в правду, так проще, спасибо тебе, комрад!
chimera14 вне форума Ответить с цитированием
Старый 28.03.2018, 14:58   #9
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

chimera14, пожалуйста!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 28.03.2018, 15:04   #10
Скарам
Дружите с Linq ;)
Форумчанин
 
Аватар для Скарам
 
Регистрация: 15.10.2008
Сообщений: 822
По умолчанию

Код:

        private static void Main( string[] args )
        {

                int n = 10;
                for (int i = 0; i < n; i++) {
                  
                    Console.WriteLine("{0} десятичное = {1} ",  Convert.ToString(i, 2).PadLeft( 8,'0' ), i );
                }
                Console.ReadKey();			            
            
        }
Так еще проще))
Не давай организму поблажки, каждый день тренируй его в шашки..
Скарам вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Функция перевод из двоичной в десятичную в си milca007 Помощь студентам 2 07.05.2017 22:12
C#. Перевод из двоичной в десятичную. Лакира Помощь студентам 2 19.11.2016 10:16
си++ перевод числа из двоичной системы в десятичную. Bonne Помощь студентам 1 13.04.2010 22:07
Перевод числа из двоичной системы в десятичную С++ kontroller Помощь студентам 2 15.02.2010 20:39