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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.10.2011, 11:02   #1
Леонардо Аудиторе
Новичок
Джуниор
 
Регистрация: 02.10.2011
Сообщений: 1
По умолчанию Перевод из 2ной системы счисления в 8ную, 10ную и 16ую.

Всем здравствуйте. Помогите пожалуйста написать программу, которая переводит из 2ной в 8ную, 10ную и 16ую. Использую Microsoft Visual Studio C++ 2010 Express. Надо написать программу на языке С. И, желательно, описать каждое действие. Поскольку в школе не изучал его вовсе, я чайник.
Леонардо Аудиторе вне форума Ответить с цитированием
Старый 02.10.2011, 11:32   #2
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Перевод из двоичной в 10-ную:
Код:
10-е   256 128 64 32 16  8 4 2 1
2-е     1   0   1  1  0  0 1 0 1
равно 256+0+64+32+0+0+4+0+1 = 357дес
делим число на тетрады (от слова тетра - четыре).
16-и первая тетрада = 1, вторая тетрада = 6, третья тетрада = 5 итого 165
Если написать прогу, это платно. Дерзай.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder

Последний раз редактировалось Smitt&Wesson; 02.10.2011 в 11:36.
Smitt&Wesson вне форума Ответить с цитированием
Старый 02.10.2011, 12:15   #3
alex_x_x
Форумчанин
 
Регистрация: 31.01.2011
Сообщений: 160
По умолчанию

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

int main()
{
  unsigned val = 0, pow = 16, res, buf[100], count = 0;
  const char* bin = "110101010111";
  unsigned length = strlen(bin), bin_pow = 1;
  do
  {
    val += bin_pow * (bin[length - 1] - '0');
    bin_pow *= 2;  
  }
  while(--length);
  
  printf("%s(2) - %d(10)\n", bin, val); 
  
  do
  {
    buf[count++] = val % pow;
  } while ( val /= pow );
  
  do 
  {
    res = buf[count-1]; 
    printf("%c", res > 9 ? 'A' + res - 10 : '0' + res);
  }
  while(--count);     
  printf("(%d)\n", pow);

  return 0;  
}
быдлокод, но сеже
alex_x_x вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перевод из 10 в другие системы счисления. dixonich Помощь студентам 13 11.04.2011 18:13
Перевод числа из 8-й системы счисления в 10-ю (Delphi) fuzo Помощь студентам 5 27.09.2010 20:23
Перевод из одной системы счисления в другую на С++ innaa639 Помощь студентам 1 12.04.2010 14:34
Перевод в разные системы счисления Наташенька Общие вопросы C/C++ 2 21.12.2008 11:34
Перевод из одной системы счисления в другую Sky_VSUH Помощь студентам 1 28.02.2008 20:18