Частина тексту файла (без зображень, графіків і формул):
Міністерство освіти і науки України
Національний університет „Львівська політехніка”
Кафедра ЕОМ
Звіт
з лабораторної роботи № 1
з дисципліни: “Програмування”
на тему: “Внутрішні формати данних ”
Варіант 21
Мета робити: Дослідити внутрішнє представлення данних у комп’тері.
Постановка задачі: Перевести вручну і перевірити програмно представлення в пам’яті комп’ютера цілочисельної змінної типу int які мають значення +2121 і -2121 та дійсих змінних типу float які мають значення +21.21 і -21.21.
Алгоритм розв’язання задачі:
Задати числа 2121 і -2121 типу integer.
Задати числа 21.21 і -21.21 типу float.
Задати вказывники типу char на попередньо заданы числа.
Вивести на екран «integer» та з нового рядка «i1=».
j = 0.
Якщо j менше за розмір i1 то 7 інакше 10.
За допомогою вказівника вивести на екран j – ий байт числа 2121.
j = j + 1.
Повернутись до пункту 6.
j = 0.
Якщо j менше за розмір i1 то 12 інакше 15.
За допомогою вказівника вивести на екран j – ий байт числа -2121.
j = j + 1.
Повернутись до пункту 11.
j = 0.
Якщо j менше за розмір i1 то 17 інакше 20.
За допомогою вказівника вивести на екран j – ий байт числа 21.21.
j = j + 1.
Повернутись до пункту 16.
j = 0.
Якщо j менше за розмір i1 то 22 інакше 25.
За допомогою вказівника вивести на екран j – ий байт числа -21.21.
j = j + 1.
Повернутись до пункту 21.
Кінець
Текст програми:
#include <stdio.h>
#include <conio.h>
int main(void)
{
int i1 = 2121, i2 = -2121, j;
float f1 = 21.21, f2 = -21.21;
unsigned char *vki1 = (unsigned char*)(&i1), *vki2 = (unsigned char*)(&i2);
unsigned char *vkf1 = (unsigned char*)(&f1), *vkf2 = (unsigned char*)(&f2);
printf("\t\tinteger\n%d\t=", i1);
for (j = 0; j < sizeof(i1); j++) printf(" %X", vki1[j]);
printf("\n%d\t=", i2);
for (j = 0; j < sizeof(i2); j++) printf(" %X", vki2[j]);
printf("\n\t\tfloat\n%lf\t=", f1);
for (j = 0; j < sizeof(f1); j++) printf(" %X", vkf1[j]);
printf("\n%lf\t=", f2);
for (j = 0; j < sizeof(f2); j++) printf(" %X", vkf2[j]);
getch();
return 0;
}
Тестування програми:
Ручний розрахунок:
Результати виконання програми:
Висновок: Дослідив внутрішнє представлення данних у комп’тері та навчився виводити дані із внутрішньої памяті комп’тера у шістнадцятковій системі.
Ви не можете залишити коментар. Для цього, будь ласка, увійдіть
або зареєструйтесь.
Ділись своїми роботами та отримуй миттєві бонуси!
Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!