Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Преобразование чисел из одной сс в другую, из одной системы счисления в другую 
:(
    Опции темы
GRIENDERS
Дата 20.8.2010, 20:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 86
Регистрация: 19.2.2007

Репутация: нет
Всего: 1



Пусть есть интерфейс

Код

interface IConvert
{
/// <summary>
/// Преобразование числа из одной позицонной сисемы счисления в другую
   /// </summary>
/// <param name="value">строковое предствление числа в базовой сисеме счисления</param>
/// <param name="fromBase">строка представляющая основание базовой системы счисления</param>
   /// <param name="toBase">строка представлюща основание системы счиления в которую надо перевести</param>
/// <returns>строковое предстваление числа в новой системе счисления</returns>
/// <exception cref="ArgumentException">Исключание если конвертируемое значение не представлет из себя число в базовой сисеме счисления</exception>
string Convert(string value, string fromBase, string toBase);
  }


Как сделать класс, реализующий этот интерфейс?
Для примера:
 
Код

Value = “GSAK”
fromBase = “A,S,G,K” – основание системы равно 4 (если записать арабскими то 0,1,2,3)
toBase= “0,1,2,3,4,5,6,7,8,9” – основние сисемы равно 10
return value = “147”



Строки, представляющие основание позиционной системы, содержат любые символы для предстваления цифры в порядке возрастания
PM MAIL   Вверх
jonie
Дата 21.8.2010, 10:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 22
Всего: 118



Класс, реализующий этот интерфейс будет такой:
Код

class Converter : IConverter {
public string Convert(string value, string fromBase, string toBase)
{
 return "";
}
}

в чем вопрос?


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
ДобренькийПапаша
Дата 21.8.2010, 13:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1278
Регистрация: 14.1.2006
Где: г.Москва

Репутация: нет
Всего: 7



Не знаю что вам надо, но переводить из одной системы в другую можно так:
Код

int myVal=4;
string txt = Convert.ToString(myVal, 2); //Возвратит 100
txt = Convert.ToString(myVal, 8); //Возвратит 100
txt = Convert.ToString(myVal, 16); //Возвратит 100




--------------------
Меня зовут Себастьян Парейра, торговец чёрным деревом.
PM MAIL   Вверх
GRIENDERS
Дата 21.8.2010, 20:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 86
Регистрация: 19.2.2007

Репутация: нет
Всего: 1



Все написано в первом топике

Добавлено через 33 секунды
Цитата(jonie @ 21.8.2010,  10:45)
Класс, реализующий этот интерфейс будет такой:
Код

class Converter : IConverter {
public string Convert(string value, string fromBase, string toBase)
{
 return "";
}
}

в чем вопрос?

как реализовать?
PM MAIL   Вверх
Экскалупатор
Дата 21.8.2010, 21:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1746
Регистрация: 1.4.2009
Где: г. Минск

Репутация: 11
Всего: 24



Цитата(GRIENDERS @  21.8.2010,  19:42 Найти цитируемый пост)
как реализовать? 

не понимаю вопроса. 
наследуешь этот интерфейс в классе, и реализуешь там те методы которые описаны в интерфейсе. чего не понятно то? 
или тебе нужна конкретная реализация метода перевода чисел?

Это сообщение отредактировал(а) Экскалупатор - 22.8.2010, 00:30
PM MAIL ICQ   Вверх
GRIENDERS
Дата 22.8.2010, 00:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 86
Регистрация: 19.2.2007

Репутация: нет
Всего: 1



да, конкретная реализация
PM MAIL   Вверх
Экскалупатор
Дата 22.8.2010, 01:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1746
Регистрация: 1.4.2009
Где: г. Минск

Репутация: 11
Всего: 24



хм. ну так так и писать надо было сразу: хочу метод перевода из одной СС в другую, а то интерфейсы, классы, при чем тут все это?..

Цитата(GRIENDERS @  20.8.2010,  19:03 Найти цитируемый пост)
Value = “GSAK”
fromBase = “A,S,G,K” – основание системы равно 4 (если записать арабскими то 0,1,2,3)
toBase= “0,1,2,3,4,5,6,7,8,9” – основние сисемы равно 10
return value = “147”


можно ли узнать откуда эти данные берутся? GSAK - это в какой СС? почему оно равно 147 в СС с основанием 10?
PM MAIL ICQ   Вверх
Экскалупатор
Дата 22.8.2010, 01:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1746
Регистрация: 1.4.2009
Где: г. Минск

Репутация: 11
Всего: 24



вообще информации по этому поводу очень много, так что составить алгоритм не должно вызывать трудностей. 
принцип можно почитать к примеру тут или тут.

правда в данном случае видно хочется переводить в какие то непонятные значения. так что если сильно хочется то предоставь информацию о том как они соотносятся между собой.
PM MAIL ICQ   Вверх
GRIENDERS
Дата 22.8.2010, 14:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 86
Регистрация: 19.2.2007

Репутация: нет
Всего: 1



я ее уже видел
PM MAIL   Вверх
Экскалупатор
Дата 22.8.2010, 16:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1746
Регистрация: 1.4.2009
Где: г. Минск

Репутация: 11
Всего: 24



Цитата(Экскалупатор @  22.8.2010,  00:05 Найти цитируемый пост)


можно ли узнать откуда эти данные берутся? GSAK - это в какой СС? почему оно равно 147 в СС с основанием 10? 


расскажи подробнее что тебе нужно получить, я думаю что у тебя какой то свой вариант представления системы счисления, но вот какой я пока не понял. если расскажешь то наверняка это поможет в реализации этого метода.

Добавлено через 2 минуты и 25 секунд
если тебе кажется что того примера, который ты привел в первом посте, достаточно для того что бы понять как оно у тебя работает то ты ошибаешься, в моем представлении система счисления с основанием 4 содержит цифры 0,1,2,3. откуда берутся значения A,S,G,K? какая между ними связь?
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0675 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.