Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПОСОБИЕ ЯПиМТ 2010 new.doc
Скачиваний:
20
Добавлен:
14.08.2019
Размер:
2.49 Mб
Скачать

Задание на исследование

  1. Исследование арифметических операций

    • для заданных исходных данных исследовать влияние типа данных на конечный результат для всех арифметических операций.

Пример:

typedef signed short int INT;

int main(int argc, char* argv[])

{

INT a=12678, b=-19003, c;

float x=a,y=b,z;

char d=156,e=68,f;

cout<<"\n------------------\nInteger: a="<<a<<", b="<<b;

cout<<”\nSize of UINT is: “<<sizeof(a);

c=a+b; cout<<"\n+: "<<c;

c=a-b; cout<<"\n-: "<<c;

c=a*b; cout<<"\n*: "<<c;

c=a/b; cout<<"\n/: "<<c;

c=a%b; cout<<"\n%: "<<c;

c=-a; cout<<"\n-: "<<c;

c=!a; cout<<"\n!: "<<c;

c=~a; cout<<"\n~: "<<c;

cout<<"\n------------------\nFloating: x="<<x<<", y="<<y;

. . .

cout<<"\n------------------\nCharacter: d="<<d<<", e="<<e;

. . .

return 0;

}

  • по результатам исследований сделать выводы.

  • Исследование поразрядных операций

    • для заданных исходных данных исследовать взаимосвязь между поразрядными операциями сдвига влево на j-разрядов, вправо на k-разрядов и арифметическими операциями умножения и деления исходного числа на число 2N, N=j для операции умножения, N=k для операции деления.

    Например:

    typedef signed short int INT;

    int main(int argc, char* argv[])

    {

    INT d=156,e,j=2,k=3;

    cout<<”\nd=”<<d<<”, j=”<<j<<”;

    e=d<<j;

    cout<<"\n”<<d<<”<<”<<j<<”="<<e;

    cout<<”\nd=”<<d<<”, k=”<<k;

    e=d>>k;

    cout<<"\n”<<d<<”>>”<<k<<”="<<e;

    . . .

    return 0;

    }

    • для заданных исходных данных сравнить результаты битовых операций, полученные в программе с результатами, полученными вручную.

    Например:

    typedef signed short int INT;

    int main(int argc, char* argv[])

    {

    INT d=156,e=67,f;

    cout<<”\nd=”<<d<<”, e=”<<e;

    f=d&e;

    cout<<"\n&: ”<<f;

    . . .

    return 0;

    }

    • по результатам исследований сделать выводы.