Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Возможно ли создать свою систему исчисления в С++ 
V
    Опции темы
N1ko
Дата 14.7.2008, 16:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 383
Регистрация: 30.12.2007
Где: Киев

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



Подскажите,возможно ли при помощи средств С++ создать свою систему исчисления, которая например будет состоять из 5-ти цифр:0,1,2,3,4. Основная задача состоит в следующем. Например есть число 1234. К нему нужно добавить 1 и что бы в результате получилось 1240. Или например11144 +1=11200. Ну в общем система навреное понятна. Существуют ли в С++ функции, специально созданные для таких задач или мне прийдётся делать всё вручную?
PM MAIL ICQ   Вверх
Ln78
Дата 14.7.2008, 16:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



N1ko, можно, например, так:
Код

    char buffer[50];                      
    int i = strtoul ( "11244", NULL, 5);
    _itoa(i+1,buffer,5);
    printf("i= %s\n", buffer); 

PM MAIL   Вверх
JackYF
Дата 14.7.2008, 18:37 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 6
Всего: 162



Цитата(Ln78 @  14.7.2008,  15:43 Найти цитируемый пост)
_itoa

это что?


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
Annihilator
Дата 14.7.2008, 18:49 (ссылка)  | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


bytegrinder
**


Профиль
Группа: Участник
Сообщений: 493
Регистрация: 21.11.2006
Где: Омск

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



Цитата(JackYF @ 14.7.2008,  22:37)
Цитата(Ln78 @  14.7.2008,  15:43 Найти цитируемый пост)
_itoa

это что?

Конвертирует целое число в строку


--------------------
Если вы не можете сделать хоpошyю пpогpаммy, сделайте, чтобы она по кpайней меpе выглядела хоpошо
PM ICQ   Вверх
Ln78
Дата 14.7.2008, 19:02 (ссылка)  | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(JackYF @  14.7.2008,  19:37 Найти цитируемый пост)
это что? 


JackYF, ну, если б я ответил из хелпа:
Converts an integer to a string. These functions are deprecated because more secure versions are available; see _itoa_s, _i64toa_s, _ui64toa_s, _itow_s, _i64tow_s, _ui64tow_s.
ты бы возмутился ещё больше smile 
Но на обычную itoa любимый тобой MS выдаёт:
Message: 'The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _itoa. See online help for details.'
PM MAIL   Вверх
Mayk
Дата 14.7.2008, 19:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


^аВаТаР^ сообщение>>
****


Профиль
Группа: Участник
Сообщений: 2616
Регистрация: 22.5.2005
Где: за границей разум а

Репутация: 3
Всего: 134



Цитата(JackYF @  14.7.2008,  22:37 Найти цитируемый пост)
это что? 

что-то типа strtol но не стандартное  smile 


--------------------
 Здесь был кролик. Но его убили.
Человеки < кроликов, йа считаю.
PM MAIL WWW ICQ   Вверх
compiler91
Дата 14.7.2008, 19:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 80
Регистрация: 18.6.2008
Где: Харьков, Украина

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



удаленно..

Это сообщение отредактировал(а) compiler91 - 14.7.2008, 19:36
PM MAIL   Вверх
bsa
Дата 14.7.2008, 22:30 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

Репутация: 85
Всего: 196



N1ko, а кто тебе мешает написать собственную функцию по переводу строкового представления числа из нужной тебе системы счисления и обратно? Делается это очень просто: result = (s[n]-'0') * pow(base, n) + ... + (s[0] - '0') * pow(base, 0), где n=strlen(s)-1, base - база (в твоем случае 5), s - текстовое представление числа. Обратное преобразование делается путем получения остатка от деления на базу n раз (пока исходное число не станет равно 0).
PM   Вверх
JackYF
Дата 15.7.2008, 18:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 6
Всего: 162



Цитата(Ln78 @  14.7.2008,  18:02 Найти цитируемый пост)
The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _itoa

Мда. Кому-то явно было скучно. Спасибо за ответ.


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


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

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




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


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

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