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

Базовый тип чисел - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Чтение из файла http://www.cyberforum.ru/cpp-beginners/thread516838.html
Проясните, пожалуйста, один вопрос: есть файл такого содержания - 12 23 32 43 45 95 Простейшая программа: #include<iostream> #include<fstream> //потоки using namespace std; int main() { ifstream in("123.txt"); //создаем поток ввода
C++ количества элементов линейной таблицы Составить программу для подчета суммы и количества элементов линейной таблицы А, состояще из 20 целых чисел,имеющих четные значения. http://www.cyberforum.ru/cpp-beginners/thread516833.html
Задать параметр для компоновщика в VS C++
Рассматриваю один из примеров Петзолда где общая память расшаривается через библиотеку для нескольких экземпляров приложения, вот только если у Петзолда она расшаривается то у меня нет (одновременно запущенные экземпляры приложения не видят данных других экземпляров). Единственное что я не сделал к этому примеру это: Компоновщику необходимо сообщить об области памяти shared. В командной строке...
C++ Неправильное выделение байтов
void *_upointer; int type:2; В классе присутствуют 2 переменные. Насколько я знаю, указатель занимает 4 байта, а int в данном случае должен занимать 1. итого: 5. когда использовал sizeof, вывело 8. Что не так?
C++ Правильно ли считываю матрицу? http://www.cyberforum.ru/cpp-beginners/thread516795.html
Ребят, правильно ли я считываю матрицу из файла? И еще: чтобы узнать размер матрицы, мне обязательно нужно открыть файл и, посмотрев ее кол-во строк и столбцов, сделать соответствующие изменения в программе (в смысле изменить размерность)? Ведь больше я никак не могу узнать, массив какой размерности мне нужен под ее хранение? #include<iostream> #include<fstream> //потоки #include...
C++ Указатель на уничтоженный массив int *point; void func() { int mass; for(int i=0; i<16; ++i) mass = 16-i; point = mass; } int main() подробнее

Показать сообщение отдельно
gooseim
Эксперт C++
500 / 404 / 35
Регистрация: 23.09.2010
Сообщений: 1,139
12.03.2012, 15:59     Базовый тип чисел
Цитата Сообщение от BTR Посмотреть сообщение
вот и тут ошибка
Значит исправляйте.
Побитовые операции надо тоже знать.
Я бы как-то так сделал:
C++
1
2
3
4
5
6
7
8
9
10
11
class num 
{
  union
  {
       int i;
       double d;
  };
  enum {integer = 0x1, real = 0x2};
  size_t type;
  ...
};
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
num & num::operator += (const num &n)
{
        if((n.type & type) == integer)
                i += n.i;
        else if((n.type & type) == real)
                d += n.d;
        else if((n.type & type) == 0)
        {
           double v1 = (type == integer) ? i : d;
           double v2 = (n.type == integer) ? n.i : n.d;
           d = v1 + v2;
           type = real;
        }
        
        return *this;
}
 
Текущее время: 13:38. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru