eGospodarka.pl
eGospodarka.pl poleca

  • Data: 2010-12-31 14:09:31
    Temat: Re: Czy da się stwierdzić błąd
    Od: "Wojciech \"Spook\" Sura" <s...@s...please.op.pl> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    Dnia 31-12-2010 o 12:35:11 <k...@g...skasuj-to.pl>
    napisał(a):

    > Dla integers, chyba nie bardzo:
    > http://stackoverflow.com/questions/199333/best-way-t
    o-detect-integer-overflow-in-c-c

    int __stdcall safeAdd(int i, int j)
    {
    int result;
    bool _valid;

    __asm
    {
    mov EAX, i;
    mov EBX, j;
    add EAX, EBX;
    jo overflow;
    mov _valid, 1;
    jmp end;

    overflow:
    mov _valid, 0;

    end:
    mov result, EAX;
    }

    if (_valid)
    printf("Added, result = %d\n", result);
    else
    printf("Overflow occured!\n");

    return result;
    }

    int main(int argc, char * argv[])
    {
    bool valid;
    int i = safeAdd(2147483646, 1);
    int j = safeAdd(2147483646, 2);

    getchar();
    }

    Przy czym są prostsze sposoby :)

    > KK

    Pozdrawiam -- Spook.

    --
    Używam klienta poczty Opera Mail: http://www.opera.com/mail/

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: