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

Проверка арифметического переполнения для int - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Оператор return; http://www.cyberforum.ru/cpp-beginners/thread32210.html
В коде одного примера встретился оператор return; Который просто ничего не возвращает. Вот часть кода: void PartList::Iterate(void (Part::*pFunc)()const)const { if (!pHead) { return; } PartNode *pNode=pHead; do (pNode->GetPart()->*pFunc)();
C++ Как увидеть результат выполнения программы в Dev-C++ 4.9.9.2 ? И ещё, когда запускаю exe-файл, вместо нормального текста какая-то абракадабра на русском языке. Можно это исправить? Только начал изучать программирование, если можно, отвечайте общедоступным языком. Если смогите, помогите. Заранее спасибо. http://www.cyberforum.ru/cpp-beginners/thread32172.html
Переменная в register, операция >>, во что компилится? C++
Если объявлена переменная register unsigned int i=100; и затем мне надо выполнять операцию >>1 (деление на 2), в цикле, дак вот, если написать просто i=i>>1; эта строка скомпилится именно в sar xX, 1, или какую-то более сложную последовательность, с присваиванием и т.д. ?? (Просто, i++ будет инкремент, а i>>1 - ничего не будет, значение i останется прежним. А как надо?) Заранее...
C++ Ограничения для структуры if
у меня прога некорректно работает. есть подозрения на структуру if - в ней должно выполнятся 5 условий if ((f_card==1)&&(f_card==1)&&(f_card==1)&&(f_card==1)&&(f_card==1)) существуют ли ограничения для кол-ва условий в структуре if и может ли из-за большого кол-ва условий давать сбой?
C++ Подправить сортировку в проге http://www.cyberforum.ru/cpp-beginners/thread32139.html
Мне необходимо переделать сортировку по возрастанию количества цифр в строке в сортировку по убыванию (это конкретная часть из программы). int Sort::fcel (char*a) { int b=0; for (int i=0; i<strlen(a); i++) if (a=='1'|| a=='2'|| a=='3'|| a=='4'|| a=='5'|| a=='6'|| a=='7'|| a=='8'|| a=='9'|| a=='0') b++; return b; };
C++ Как можно посчитать ширину дерева? Товарищи!!!!! подскажите пожалуйста как можно посчитать ширину дерева!!!????? (под шириной дерева понимается максимальное количество елементов, находящихся на одном уровне) очень надо!!! подробнее

Показать сообщение отдельно
NickA
35 / 34 / 2
Регистрация: 28.04.2009
Сообщений: 67
30.04.2009, 17:16
C++
1
2
3
4
5
6
7
8
9
10
Int Int::operator+(Int d2)//метод перегрузки сложения
{
    long double m = n+d2.n; // << -- нужно сперва преобразовать n и d2.n к типу long double, после чего выполнять действие, если этого не делать, то операция выполняется с переполнением, например (int)2147483648+(int)1=(int)-2147483647
    if(m > 2147483648.0L || m < -2147483647.0L)
    {
        cout << "Perepolneneie!";
        exit(1);
    }
    else return Int(int(m));
}
Ну скажем так:
C++
1
2
3
4
5
6
7
8
9
10
Int Int::operator+(Int d2)//метод перегрузки сложения
{
    long double m = (long double)n+(long double)d2.n; 
    if(m > 2147483648.0L || m < -2147483647.0L)
    {
        cout << "Perepolneneie!";
        exit(1);
    }
    else return Int(int(m));
}
в остальных операциях аналогично
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru