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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.11.2010, 14:11   #1
Bakalavr
Пользователь
 
Аватар для Bakalavr
 
Регистрация: 28.11.2010
Сообщений: 11
По умолчанию Системы счисления на C#

Задание на C#:

1) Реализовать перевод чисел между десятичной, двоичной и восьме-ричной системами счисления.

Последний раз редактировалось Bakalavr; 29.11.2010 в 14:28.
Bakalavr вне форума Ответить с цитированием
Старый 29.11.2010, 14:23   #2
andrewpalkin
Форумчанин
 
Аватар для andrewpalkin
 
Регистрация: 23.11.2010
Сообщений: 458
По умолчанию

А что именно не получается ???
--- Если я вам помог , то помогите и вы мне . Не просто просите решить задачу , а пробуйте ее сами решить ! Я не пишу программы с нуля , я помогаю поправить код ! ---
andrewpalkin вне форума Ответить с цитированием
Старый 29.11.2010, 14:27   #3
Bakalavr
Пользователь
 
Аватар для Bakalavr
 
Регистрация: 28.11.2010
Сообщений: 11
По умолчанию

Цитата:
Сообщение от andrewpalkin Посмотреть сообщение
А что именно не получается ???
Как это реализовать на C#?
Bakalavr вне форума Ответить с цитированием
Старый 29.11.2010, 14:33   #4
andrewpalkin
Форумчанин
 
Аватар для andrewpalkin
 
Регистрация: 23.11.2010
Сообщений: 458
По умолчанию

Цитата:
Сообщение от Bakalavr Посмотреть сообщение
Как это реализовать на C#?
А что ты уже сделал ?

P.S. Реализовать просто , начать писать код
--- Если я вам помог , то помогите и вы мне . Не просто просите решить задачу , а пробуйте ее сами решить ! Я не пишу программы с нуля , я помогаю поправить код ! ---
andrewpalkin вне форума Ответить с цитированием
Старый 29.11.2010, 14:44   #5
sergey.d
Пользователь
 
Регистрация: 23.08.2010
Сообщений: 98
По умолчанию

Цитата:
Сообщение от Bakalavr Посмотреть сообщение
Как это реализовать на C#?
Не понятен алгоритм или не знаешь С#?
sergey.d вне форума Ответить с цитированием
Старый 29.11.2010, 15:02   #6
Bakalavr
Пользователь
 
Аватар для Bakalavr
 
Регистрация: 28.11.2010
Сообщений: 11
По умолчанию

Цитата:
Сообщение от sergey.d Посмотреть сообщение
Не понятен алгоритм или не знаешь С#?
И то и другое))
Bakalavr вне форума Ответить с цитированием
Старый 29.11.2010, 15:25   #7
andrewpalkin
Форумчанин
 
Аватар для andrewpalkin
 
Регистрация: 23.11.2010
Сообщений: 458
По умолчанию

From Decimal to Binary...

Код:
using System;
class Program{
   static void Main(string[] args){
      try{        
	 int i = (int)Convert.ToInt64(args[0]);
         Console.WriteLine("\n{0} converted to Binary is {1}\n",i,ToBinary(i));      
      }catch(Exception e){        
         Console.WriteLine("\n{0}\n",e.Message); 
      }
   }//end Main
		public static string ToBinary(Int64 Decimal)
		{
			// Declare a few variables we're going to need
			Int64 BinaryHolder;
			char[] BinaryArray;
			string BinaryResult = "";

			while (Decimal > 0)
			{
				BinaryHolder = Decimal % 2;
				BinaryResult += BinaryHolder;
				Decimal = Decimal / 2;
			}

			// The algoritm gives us the binary number in reverse order (mirrored)
			// We store it in an array so that we can reverse it back to normal
			BinaryArray = BinaryResult.ToCharArray();
			Array.Reverse(BinaryArray);
			BinaryResult = new string(BinaryArray);

			return BinaryResult;
		}
}//end class Program
From Binary to Decimal...

Код:
using System;

class Program{
   static void Main(string[] args){

      try{        
         int i = ToDecimal(args[0]);
         Console.WriteLine("\n{0} converted to Decimal is {1}",args[0],i);
      
      }catch(Exception e){        
         Console.WriteLine("\n{0}\n",e.Message); 
      }

   }//end Main

                public static int ToDecimal(string bin)
		{
                    long l = Convert.ToInt64(bin,2);
                    int i = (int)l;
                    return i;
		}
}//end class Program
--- Если я вам помог , то помогите и вы мне . Не просто просите решить задачу , а пробуйте ее сами решить ! Я не пишу программы с нуля , я помогаю поправить код ! ---
andrewpalkin вне форума Ответить с цитированием
Старый 29.11.2010, 19:20   #8
sergey.d
Пользователь
 
Регистрация: 23.08.2010
Сообщений: 98
По умолчанию

Вот перевод целого в строку в произвольной системе счисления (с основанием от 2 до 16), на С++. До шарпа уже рукой подать...

Код:
#include <assert.h>
#include <string>

std::string toString(int num, int base)
{
    assert(num >= 0 && base > 1 && base < 17);
    static const char digits[] = "0123456789ABCDEF";
    std::string str = num ? "" : "0";

    while(num)
    {
        str = std::string(1, digits[num % base]) + str;
        num /= base;
    }

    return str;
}

Последний раз редактировалось sergey.d; 29.11.2010 в 19:23.
sergey.d вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Системы счисления.10->5-7. Corpinccom Помощь студентам 0 22.09.2010 12:54
Системы счисления ruslan-gonch Общие вопросы Delphi 1 26.11.2009 17:20
Системы счисления Nikitaunett Помощь студентам 17 24.11.2009 20:20
Системы счисления бедный_студент Помощь студентам 8 18.02.2009 23:25