Bit manipulation techniques, Computer Engineering

Assignment Help:

  We can also use the logical operators to numbers directly and  perform simple bit manipulation . The operators are

    &  Bitwise AND
    |  Bitwise OR
    ^  Bitwise exclusive or 
    ~  Bitwise one's complement i.e. NOT
    <<  Left shift
    >>   Right shift

Example
  A 8 bit number represents a coded function, bit  3-4 describes the operation to be performed on the number in bits 0- 2 and 5-7  the function i.e. 
 
    00    Add
    01    Subtract
    10     Divide
    11    Multiply
 
  Write a Program to extract the number and operation

Answer
We need to extract the bits 3-4, the answer is bit operators 
 
    Assume number is in the variable A i.e.  11011011
 
    Mask off the first number i.e. bit 0-2
    num1 = a & 0x07;        11011011 and
                00000111
                00000011
    
    Mask off the second number i.e. bit 5 -7
    num2 = a & 0xe0;        11011011 and
                11100000
                11000000
 
    We need to shift num2 down by 5 places i.e.
    num2 = num2 >>5;
                00000110

This could be done in one instruction i.e.
    num2 = (a & 0xe0) >> 5;
 
  Mask off the operation bits i.e. bit 4-5
    operation = (a & 0x18) >> 3;
 
  We can then use the switch statement to select each operation
  switch(operation)
  {
  case 0:  
    total = num1+num2;
    break;
  case 1: 
     total = num1-num2;
    break;
  case 2:  
    total = num1/num2;
    break;
  case 3:  
    total = num1*num2;
    break;
  }
Hence the entire program is 
  #include
  void main()
  { 
  char prompt;
  /*Author : Mr James Mc Carren 
  Company: Staffordshire University 
   Date: 26th August 2012 
  Version 1.0 
   Function : To show bit manipulation
   Modifications:   none*/
  int num1,num2,operation,total,a;
  printf("Please enter in the number\n\r");
  scanf("%x",&a);
  num1 = a & 0x07;  
  num2 = (a & 0xe0) >> 5 ;
  operation = (a & 0x18) >> 3;
  switch(operation)
  {
  case 0:   total = num1+num2;
    break;
  case 1:  total = num1-num2;
    break;
  case 2:  total = num1/num2;
    break;
  case 3:  total = num1*num2;
    break;
  }
  printf("The total is %d\n\r",total); 
  printf("Press and key to exit \n\r");
  scanf("\n%c",&prompt);
  }


Related Discussions:- Bit manipulation techniques

Explain why the ROM is a volatile memory, Is the ROM a volatile memory? Exp...

Is the ROM a volatile memory? Explain Ans. No, ROM is a Non-Volatile memory. Programming of ROM includes making of the needed  interconnections at  the time of fabrication and

What is ternary association, What is ternary association Associations c...

What is ternary association Associations can be binary, ternary, or have higher order. In use, the vast majority of it is binary or ternary associations. Except a ternary assoc

Interrupt and scanning method of keypad operation, INTERRUPT METHOD - USING...

INTERRUPT METHOD - USING PORTB CHANGE INTERRUPT By using 4 by 4 matrix keypad connected to PORTA and PORTB. The rows are connected to PORTA-Low (RA1-RA4) and the columns are co

By which the speech of side tone is heard, Side tone is the speech heard by...

Side tone is the speech heard by (A)  the receiving subscriber (B)  both the receiving and calling subscriber (C) by on looker (D) by calling subscriber Ans

Name the popular security measures, Name the popular security measures ...

Name the popular security measures A number of security products covering a broad range of methods are available in the market. Most popular of all the security measures are th

Explain about annotational notations, Explain about Annotational Notations ...

Explain about Annotational Notations These notations may be applied to describe remark and illuminate about any element in the model. They are considered as explanatory of U

What is strong-typing versus weak-typing, What is strong-typing versus weak...

What is strong-typing versus weak-typing? Which is preferred? Why? Strong type is checking the types of variables as early as possible, usually at compile time. Whereas weak ty

Result extends to functions - perceptrons, Result extends to functions - pe...

Result extends to functions - perceptrons: Thus the dotted lines can be seen as the threshold in perceptrons: whether the weighted sum, S, falls below it, after then the perce

Heuristic search strategies, Heuristic Search Strategies: Generally sp...

Heuristic Search Strategies: Generally speaking that, a heuristic search is one which have uses a rule of thumb to improve an agent's performance in solving the problems via s

Minimization of the logic function using NORgates, Minimize the logic funct...

Minimize the logic function F(A, B, C, D) = ∑ m(1,3,5,8,9,11,15) + d(2,13) using NOR gates with help of K-map. Ans. Realization of given expression by using NOR gates: In POS

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd