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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.11.2009, 14:14   #1
BloodMaX
Пользователь
 
Регистрация: 27.09.2009
Сообщений: 29
По умолчанию Системы счисления

rez вводимое исло os система счисления

for (h=1;rez>0;h++,rez=rez/os);
for (rez=1;rez<h;rez++)
{
oper2=oper1%os;
oper1=oper1/os;
oper3=oper3+pow(10.0,rez-1.0)*oper2;
}
printf("resultat = %d\n",oper3);

я сделал таким код, но он не дает возможности переводить число в системы счисления больше 10ричной

мне нужно вот что сделать oper2 если больше 9 представиьь как char A,B и т.д. и записть в char сзади наперед, немогли бы помочь
BloodMaX вне форума Ответить с цитированием
Старый 08.11.2009, 14:46   #2
lamak
C++
Пользователь
 
Регистрация: 31.10.2009
Сообщений: 30
По умолчанию

Недавно сам писал для перевода чисел из 10-й системы в любую
Если число целое то я сделал так, с использованием стандартных библиотек С++:
Код:
#include <iostream.h>
#include <conio.h>
#include <stdlib.h>
int main()
{ int num,sis;
  char s[10]; 
  cout<<"Input number: "; cin>>num;
  cout<<"Input system: "; cin>>sis;
  itoa(num,s,sis);
  cout<<s;
  getch();
      }
Немного посидел и написал для дробного числа, по-ходу так:
Код:
#include <string.h>
#include <stdlib.h>
int main()
{ char s[35];
  float num, drob; 
  int l,k,i;
  int sist;
  cout<<"Input number: "; cin>>num;
  cout<<"Input system: "; cin>>sist;
  itoa((int)num,s,sist);
  l=strlen(s);
  s[l]='.';
  drob=num-(int)num;
  for (i=l+1; i<(l+9); i++)
    if (drob == 0) break;
       else { 
        int z;    
        float k=drob*sist;
        z=(int)k;
           switch(z)
             {case 10: s[i]='a'; break;
              case 11: s[i]='b'; break;
              case 12: s[i]='c'; break;
              case 13: s[i]='d'; break;
              case 14: s[i]='e'; break;
              case 15: s[i]='f'; break;
              default: s[i]=z+'0'; break;}
        drob=k-z; 
        s[i+1]='\0';   
            } 
  cout<<s<<endl;
  getch();
      }
Верю в google...

Последний раз редактировалось lamak; 08.11.2009 в 15:36. Причина: добавил дробную часть в перевод
lamak вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Системы счисления To4H9IK Помощь студентам 2 02.10.2009 17:12
Системы счисления. glupayastudentka Помощь студентам 1 23.06.2009 22:00
Системы счисления бедный_студент Помощь студентам 8 18.02.2009 23:25
Системы счисления vdv08 Паскаль, Turbo Pascal, PascalABC.NET 1 08.05.2008 17:32