Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Otchyot_po_laboratornoy_rabote_1_SVT.doc
Скачиваний:
8
Добавлен:
18.03.2015
Размер:
421.89 Кб
Скачать

УФИМСКИЙ ГОСУДАРСТВЕННЫЙ АВИАЦИОННЫЙ

ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

Кафедра ВТ и ЗИ

Лабораторная работа №1

по дисциплине «Средства вычислительной техники»

«ИЗУЧЕНИЕ СПОСОБОВ ПРЕДСТАВЛЕНИЯ ДАННЫХ В ЭВМ»

Выполнили студенты группы БПС-203:

Ганцев Сергей

Захаров Дмитрий

Проверил к.т.н., старший преподаватель

Вульфин Алексей Михайлович

УФА-2013

Цель:

изучение способов представления числовых, текстовых данных, основных

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

Задачи:

- исследование представления в ЭВМ целых чисел;

- исследование представления в ЭВМ вещественных чисел с плавающей

запятой;

- анализ стандарта IEEE 754 для организации хранения вещественных чисел

с плавающей запятой;

- исследование особенностей операций над числами с плавающей запятой;

- анализ представления текстовых данных

Задание №2

Код программы

{

ByteOrder num;

num.integerValue = 1; //1 = 0x0001 = 00000000 00000001

printf("Unsigned short value = 0x%04x\n", num.integerValue);

printf("bytes[0] = 0x%02x\n", num.bytesArray[0]);

printf("bytes[1] = 0x%02x\n", num.bytesArray[1]);

if (num.bytesArray[0] == 1) {

printf("little-endian bytes order\n");

}

else {

printf("big-endian bytes order\n");

}

}

Результат работы программы

Example 1: Check bytes order

Unsigned short value = 0x0001

bytes[0] = 0x01

bytes[1] = 0x00

little-endian bytes order

Задание №3

Код программы

void printByteOrder(int numExample)

{int a = 21;

int b = 49;

int c = a - b;

printf("Convert num to binary with getBits() function\n");

for (int i = 31; i > -1; i--) {

printf("%u", getBits(c, i));

}

printf("============================\n");

printf("Example %d: Check bytes order\n", numExample);

checkByteOrder();

}

Результат работы программы

Задание №4

Код программы

void convertIntNumbers(int numExample)

{int a = 27;

int b = 49;

int c = a - b;

char buffer[65]; // Буфер для хранения строкового представления числа

int r = 2; // Основание новой системы счисления

_itoa(c, buffer, r);

printf("Base %d: c_%d = %s (%d chars)\n", r, r, buffer, 65);

printf("Convert num to binary with getBits() function\n");

for (int i = 31; i > -1; i--) {

printf("%u", getBits(c, i));

}

printf("============================\n");

c ^= (1 << 2); // Инвертирование 2-го бита результата

// Повторный вывод числа с

for (int i = 31; i > -1; i--) {

printf("%u", getBits(c, i));

}

Результат работы программы

Base 2: c_2 = 11111111111111111111111111101010 (65 chars)

Convert num to binary with getBits() function

11111111111111111111111111101010============================

11111111111111111111111111101110============================

Задание №5

Код программы

void convertIntNumbers(int numExample)

{int a = 54;

int b = 7;

int c = a - b;

char buffer[65]; // Буфер для хранения строкового представления числа

int r = 2; // Основание новой системы счисления

_itoa(c, buffer, r);

printf("Base %d: c_%d = %s (%d chars)\n", r, r, buffer, 65);

printf("Convert num to binary with getBits() function\n");

for (int i = 31; i > -1; i--) {

printf("%u", getBits(c, i));

}

printf("============================\n");

r = 3; // Основание новой системы счисления

_itoa(c, buffer, r);

printf("Base %d: c_%d = %s (%d chars)\n", r, r, buffer, 65);

for (int i = 31; i > -1; i--) {

printf("%u", getBits(c, i));

}

printf("============================\n");

r = 8; // Основание новой системы счисления

_itoa(c, buffer, r);

printf("Base %d: c_%d = %s (%d chars)\n", r, r, buffer, 65);

for (int i = 31; i > -1; i--) {

printf("%u", getBits(c, i));

}

printf("============================\n");

r = 16; // Основание новой системы счисления

_itoa(c, buffer, r);

printf("Base %d: c_%d = %s (%d chars)\n", r, r, buffer, 65);;

for (int i = 31; i > -1; i--) {

printf("%u", getBits(c, i));

}

Результат работы:

Base2:c_2 = 101111 (65chars)

Convert num to binary with getBits() function

00000000000000000000000000101111============================

Base 3: c_3 = 1202 (65 chars)

00000000000000000000000000101111============================

Base 8: c_8 = 57 (65 chars)

00000000000000000000000000101111============================

Base 16: c_16 = 2f (65 chars)

00000000000000000000000000101111============================

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]