Добавил:
Tushkan
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Лабораторные работы (2) / laba8 / ZADACHA6
.CPP#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <iostream.h>
int createy(int x, int pos, int n);
void BitOutput (int x);
int main()
{
int x = 147, pos, n;
cout << "Start!\n";
// cout <<"x=";
BitOutput(x);
// cout << "x=";
BitOutput(createy(x, 15, 3));
getch();
}
int createy(int x, int pos, int n){
unsigned mask = 1 ;
int y = 0;
for(int i = pos-n-1; i<pos-1; i++){
// if (0 <= i&& i < 32)
y |= (mask << i);
}
//cout << "y=";
BitOutput(y);
return x|y;
}
void BitOutput (int x)
{
unsigned mask = 0x80000000;
int i;
for (i = 0; i < 32; x <<= 1)
{
if (x & mask) // текущий бит - единица
printf("1");
else
printf("0");
i++;
}
printf("\n");
}