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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.04.2011, 19:19   #1
dixonich
Пользователь
 
Регистрация: 11.10.2009
Сообщений: 79
По умолчанию Перевод из 10 в другие системы счисления.

Код:
#include<iostream>
#include<cstring>
using namespace std;
void d_to_char(double x1,int osn, char x_db[]){
double x=fabs(x1);
int cel=floor(x);
double res=0,res1=0;
double ost=x-cel;
while(cel%osn!=0) {
cel=cel%osn;
strinv(x_db);
}

}
int main() {
d_to_char(5,16,"");
}
начал писать, но что-то застопорился (
dixonich вне форума Ответить с цитированием
Старый 10.04.2011, 19:43   #2
kaljan775
:D
Форумчанин
 
Аватар для kaljan775
 
Регистрация: 26.09.2010
Сообщений: 570
По умолчанию

Код:
char text[50];
int q=545;
itoa(text,q,2);//ну или itoa(q,text,2);, я щас точно не помню
cout<<text<<endl;
Пишу ПО, создаю сайты, делаю курсовые работы, за деньги
C#, .NET, MS SQL, AngularJS, HTML, jQuery
kaljan775 вне форума Ответить с цитированием
Старый 10.04.2011, 19:47   #3
dixonich
Пользователь
 
Регистрация: 11.10.2009
Сообщений: 79
По умолчанию

надо без этой функции
dixonich вне форума Ответить с цитированием
Старый 11.04.2011, 16:20   #4
dixonich
Пользователь
 
Регистрация: 11.10.2009
Сообщений: 79
По умолчанию

помогите, пожалуйста
dixonich вне форума Ответить с цитированием
Старый 11.04.2011, 16:26   #5
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Перевод чисел из любой сс в любую (c)lemegeton
Код:
#include <cstddef>
#include <cstdio>
#include <cstring>
#include <cassert>
#include <cmath>
 
static const char *k_base_symbols = "0123456789ABCDEFGHIJKLMNOPQRASUVWXYZ";
 
bool IsLegalNumber(const char *string, size_t base, const char *base_symbols) {
  const char *symbol = string;
  while (*symbol != '\0') {
    const char *position = strchr(base_symbols, *symbol);
    if (position == NULL || position - base_symbols + 1 > base)
      return false;
    ++symbol;
  }
  return true;
}
 
size_t FromBase(const char *string, size_t base, const char *base_symbols = k_base_symbols) {
  size_t result = 0;
  size_t string_length = strlen(string);
  assert(base <= strlen(base_symbols));
  assert(IsLegalNumber(string, base, base_symbols));
  for (int i = string_length - 1, counter = 0; i >= 0; --i, ++counter) {
    size_t digit = strchr(base_symbols, string[i]) - base_symbols;
    result += digit * pow(base, counter);
  }
  return result;
}
 
char *ToBase(char *buffer, size_t number, size_t base, const char *base_symbols = k_base_symbols) {
  size_t a_number = number;
  char *symbol = buffer;
  int string_size = 0;
  do {
    *symbol = base_symbols[a_number % base];
    a_number /= base;
    ++symbol;
    ++string_size;
  } while (a_number !=0);
  *symbol = '\0';
 
  for (int i = 0; i < string_size / 2; ++i) {
    char temporary = buffer[i];
    buffer[i] = buffer[string_size - i - 1];
    buffer[string_size - i - 1] = temporary;
  }
 
  return buffer;
}
 
int main(int argc, char **argv) {
  size_t k_buffer_size = 2048;
  char buffer[k_buffer_size];
 
 
  printf("Hexademical FFFF in dec is %d\n", FromBase("FFFF", 16));
  printf("8 in base 4 = %s\n", ToBase(buffer, 8, 4));
  return 0;
}
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Старый 11.04.2011, 16:37   #6
dixonich
Пользователь
 
Регистрация: 11.10.2009
Сообщений: 79
По умолчанию

выдало кучу ошибок (
dixonich вне форума Ответить с цитированием
Старый 11.04.2011, 16:55   #7
Mandrivnyk
Software Developer
Участник клуба
 
Аватар для Mandrivnyk
 
Регистрация: 01.03.2011
Сообщений: 1,098
По умолчанию

Код:
string dec2any(int value, int base) {

    string buf;

    // Проверяем, корректно ли задана основа пересчета
    if (base < 2 || base > 26) return buf; // если нет -- возвращаем пустую строку

    enum { kMaxDigits = 35 };   // Максимальный разряд числа
    buf.reserve( kMaxDigits );  // Выделяем достаточное количество места

    int quotient = value;

    // Переводим число в строку с требуемой основой
    do {
            buf += "0123456789abcdefghijklmnopqrstuvwxyz"[ abs( quotient % base ) ];
            quotient /= base;
    } while ( quotient );

    // Добавляем знак, если он есть
    if ( value < 0) buf += '-';

    reverse( buf.begin(), buf.end() );
    return buf; // Искомое число в соответствующей системе счисления в виде строки
}
пользуйся -)
Болтовня ничего не стоит. Покажите мне код. (c) Linus Torvalds
Помог ответ? -- Поставьте отзыв.
Выражения особой благодарности в рублевом эквиваленте отправлять сюда --> R269634919062
Mandrivnyk вне форума Ответить с цитированием
Старый 11.04.2011, 17:17   #8
dixonich
Пользователь
 
Регистрация: 11.10.2009
Сообщений: 79
По умолчанию

спасибо огромное
dixonich вне форума Ответить с цитированием
Старый 11.04.2011, 17:19   #9
dixonich
Пользователь
 
Регистрация: 11.10.2009
Сообщений: 79
По умолчанию

Код:
001DFDD8
это точно верный вывод? при
Код:
int main() {
	string a[]={dec2any(1,2)};
	cout<<a<<endl;
}
dixonich вне форума Ответить с цитированием
Старый 11.04.2011, 17:24   #10
Mandrivnyk
Software Developer
Участник клуба
 
Аватар для Mandrivnyk
 
Регистрация: 01.03.2011
Сообщений: 1,098
По умолчанию

Код:
string a = dec2any(1,2);
Это string, а не char.
Болтовня ничего не стоит. Покажите мне код. (c) Linus Torvalds
Помог ответ? -- Поставьте отзыв.
Выражения особой благодарности в рублевом эквиваленте отправлять сюда --> R269634919062
Mandrivnyk вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перевод числа из 8-й системы счисления в 10-ю (Delphi) fuzo Помощь студентам 5 27.09.2010 20:23
ПЕРЕВОД ДВОИЧНОГО ЧИСЛА В ДРУГИЕ СИСТЕМЫ ИСЧИСЛЕНИЯ!!!!!!!! sonichka Помощь студентам 3 23.05.2010 15:07
перевод в другие системы исчисления программа есть abelix Помощь студентам 7 19.03.2010 08:52
Перевод в разные системы счисления Наташенька Общие вопросы C/C++ 2 21.12.2008 11:34
Перевод из одной системы счисления в другую Sky_VSUH Помощь студентам 1 28.02.2008 20:18