Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
5
Добавлен:
28.06.2014
Размер:
841 б
Скачать
#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");
}