Внутрішнє подання даних

Автор работы: Пользователь скрыл имя, 04 Мая 2012 в 13:30, лабораторная работа

Краткое описание

Разработать программу, которая выводит на экран внутреннее (машинное) представление данных типов: long int, double, struct.

Содержимое работы - 1 файл

Міністерство освіти і науки України.docx

— 29.28 Кб (Скачать файл)

Міністерство освіти і науки України

Національний технічний університет

“Харківський політехнічний інститут” 
 
 
 

ЦДДП

Кафедра ________________________________________________ 
 

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

з курсу 

Обчислювальні алгоритми та структури даних

Тема: Внутрішнє подання даних 
 

                    Студентки 2-го курсу

                    Група КІТЗП-10Д

                    Сидоренко Н.В.

                    м. Полтава, вул. Боженко 42/18 кв. 5 
                     
                     
                     
                     

Полтава 2011

Вариант 8

Тема: Внутреннее представление  данных

Постановка  задачи

Разработать программу, которая выводит на экран внутреннее (машинное) представление данных типов: long int, double, struct. 

Решение:

      Исходный  код программы, которая выводит на экран внутреннее (машинное) представление данных:

#include <iostream>

using namespace std; 

// ф-ция  печатает двоичное представление  одного байта

void binary_uchar_print(unsigned char li)

{

      // маска указывает какой бит  числа показать, старшый бит 

      unsigned  displayMask  = (1 << 7) ;

      for(int i = 0  ; i < 8  ; i++)

      {

            cout<<( (li & displayMask) ? '1':'0'); //отображаем старший бит

            li<<=1; //сдвигаем число на один бит влево

      }

      cout<<" ";

}

// ф-ция  печатает двоичное представление  данных шаблонного типа Т

template <typename T>

void binary_print(T li)

{

      unsigned char * p = (unsigned char *)&li; //адресс li представляем как адрес одного байта

      for(int i = sizeof(li)-1   ; i >= 0  ; i--)//перебираем каждый байт

      {

            binary_uchar_print(*(p + i)); //печатаем байт

            cout<<" ";

            if(i % 4 == 0)

                  cout<<endl; 

      }

} 

void main()

{

      long int long_int;

      cout<<"input long int value: ";

      cin>>long_int;

      cout<<"binary represantation:\n";

      binary_print(long_int); //печатаем представление данных типа long int 

      double d;

      cout<<"\ninput double value: ";

      cin>>d;

      cout<<"binary represantation:\n";

      binary_print(d); //печатаем представление данных типа double 

      struct testStruct

      {

            int a;

            float b;

            char c;

      } testObject = {33,12.8f,'A'} ; 

      cout<<"\nbinary represantation:\n";

      binary_print(testObject); //печатаем представление структуры из трех полей

} 

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


Информация о работе Внутрішнє подання даних