Форум программистов, компьютерный форум CyberForum.ru

Программа перевода числа из 10 СС в 2 СС - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ иерархия классов http://www.cyberforum.ru/cpp-beginners/thread95822.html
помогите с классами, базовый класс-ювелирное украшение производный телевизор и стиральная машина в классе не должно быть виртуальных функций
C++ Пошаговая компиляция в Borland 5.01 Всем привет. С недавнего времени при пошаговой компиляции программки(F7) начало выскакивать окно CPU и пошаговость происходит не в окне программы, а в этом долбанном CPU. До самой программы дойти нереально. Не понимаю что происходит? Раньше все было нормально и проверял программу с помощью F7 без проблем. Программу пишу для математических расчетов и поэтому пошаговость очень важна т.к.... http://www.cyberforum.ru/cpp-beginners/thread95816.html
C++ Найти с заданной точностью знач. выражения
Составить функцию возвращающую значение для решения представленной ниже задачи: Найти с заданной точностью значения выражения s=сумма ряда(x^n/n!); n от 1 до бесконечн.; Точность<=10^-4; |x|<1; Помогите не понимающему экономисту) оч прошу!
вывод текста, определение количество слов в тексте, у которых первый и последний символы совпадают. C++
Здравствуйте. Прошу пожалуйста мне помочь с написанием этой программы. Всем за ранее огромное спасибо! Вы спасёте мне жизнь. =) Условие: Ввод данных осуществляется из файла с расширением .DAT. Использовать ТОЛЬКО библиотечные функции ввода/вывода СИМВОЛА. Исходный текст и результат работы программы выводятся на экран. Нельзя использовать функции библиотеки в файле string.h Нельзя...
C++ Как изменить кодировку вывода? http://www.cyberforum.ru/cpp-beginners/thread95729.html
Доброе утро всем. Помогите новичку. Только начал изучать программирование на С++ (в среде Visual Studio 2008 express), и столкнулся с первой проблемой, обьяснения которой ни в каких книжках пока не нашел. #include <iostream> int main() { std::cout << "Привет всем!"; return 0; }
C++ Как делать log.txt? Реализацию объяснять не надо - сам справлюсь. А что выводу в лог подлежит и где именно этот вывод лучше сделать? подробнее

Показать сообщение отдельно
fs444
6 / 10 / 0
Регистрация: 18.08.2009
Сообщений: 480
18.02.2010, 14:58  [ТС]     Программа перевода числа из 10 СС в 2 СС
Слепил я такую вот штуковину:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#include <iostream>
using namespace std;
 
#include<time>
#include<math>
 
int pow(int x, int y)
{
        int n=1;
        while(y--)
                n*=x;
        return n;
}
 
int main()
{
   setlocale(LC_ALL, "Russian");
   int etalonChislaV10SS; // эталон числа в 10 СС
   int chisloV10SS;//Число в десятичной СС
   int chisloV2SS = 0;//Искомое число в двоичной CC
   int razrjadChislaV2SS = 0;//Разряд двоичного числа
   int chisloV8SS = 0;  // искомое число в восьмеричной СС
   int razrjadChislaV8SS = 0; // разряд восьмеричного числа
   int chisloV16SS = 0;  // искомое число в восьмеричной СС
   int razrjadChislaV16SS = 0; // разряд восьмеричного числа
 
   for (chisloV10SS = 1; chisloV10SS <= 256; chisloV10SS++)
   {
      chisloV2SS = 0;
      chisloV8SS = 0;
      chisloV16SS = 0;
 
      razrjadChislaV2SS = 0;
      razrjadChislaV8SS = 0;
      razrjadChislaV16SS = 0;
 
      cout << "10 SS: " << chisloV10SS << endl;
      etalonChislaV10SS = chisloV10SS;
// преобразование в 2 СС
      while(chisloV10SS > 1)
      {
         chisloV2SS += (chisloV10SS%2) * pow(10, razrjadChislaV2SS);//Присваиваем i-тому разряду остаток от деления
         chisloV10SS /= 2;
         razrjadChislaV2SS++;
      }
 
      chisloV2SS += chisloV10SS * pow(10, razrjadChislaV2SS);
 
      cout << "2 SS: " << chisloV2SS << endl;
      chisloV10SS = etalonChislaV10SS;
 
// преобр. в 8 СС
 
      chisloV10SS = etalonChislaV10SS;
 
      while(chisloV10SS > 1)
      {
         chisloV8SS += (chisloV10SS%8) * pow(10, razrjadChislaV8SS);//Присваиваем i-тому разряду остаток от деления
         chisloV10SS /= 8;
         razrjadChislaV8SS++;
      }
 
      chisloV8SS += chisloV10SS * pow(10, razrjadChislaV8SS);
 
      cout << "8 SS: " << chisloV8SS << endl;
 
      chisloV10SS = etalonChislaV10SS;
   }
 
      system("pause");
      return 0;
}
Но когда я добавляю в конец цикла for код
C++
1
2
3
4
// преобр. в 16 СС
cout << "16 SS: ";
cout << hex << chisloV10SS << endl << endl;
chisloV10SS = etalonChislaV10SS;
Вывод сразу портиться. Почему так получается? Дело в моем незнании манипуляторов потоков?
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru