л.р по информатике / лр4
.docxЛабораторная работа №4
Студентки группы ИТ-12
Коршак Кристины Сергеевны
Выполнение:______ Защита:______
ПОБИТОВЫЕ ОПЕРАЦИИ ЯЗЫКА С/С++
Цель работы: получение навыков использования побитовых операций при работе с целочисленными объектами.
СОДЕРЖАНИЕ РАБОТЫ
Выбрать алгоритм, составить его блок-схему и программу для решения выбранного варианта задания. Во всех вариантах предполагается, что размер короткого целого числа составляет 2 байта, а длинного – 4 байта.
Вариант 5:
Дано длинное целое неотрицательное число. Выполнить циклический сдвиг его шестнадцатеричного представления на k цифр вправо.
Отчет
Текст программы:
#include "stdafx.h"
#include <conio.h>
#include <stdio.h>
void main()
{
typedef unsigned long int TYPE;
typedef unsigned char BYTE;
TYPE a;
BYTE k=2;
printf("chislo:");
scanf("%lx", &a);
const BYTE cicl=sizeof(a)*8-4;
for(;k>0;k--)
{
BYTE temp=(BYTE)(a&0xf);
a>>=4;
a|=((TYPE)temp)<<cicl;
}
printf("\nPreobrazovannoe chislo:%lx", a);
getch();
}
Результаты тестирования программы:
При k=2 При k=4
Блок-схема
Вывод: Побитовые операции с С/С++ являются способом получения значений в битах двоичного представления числа, что позвоялет и изменять содержимое разрядов.