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

Define the term intranet, Define the term Intranet. Intranet: An...

Define the term Intranet. Intranet: An Intranet is a type of information system that facilitates communication within the organizations among widely dispersed department

Dic, draw 4 bit binary to gray code

draw 4 bit binary to gray code

What is called when network address prefixed by 1110, Network address prefi...

Network address prefixed by 1110 is a? Network address prefixed through 1110 is a multicast address.

Time complexity, Take a look at the code and try to understand the logic, p...

Take a look at the code and try to understand the logic, particularly, the way scrambled words are disambiguated, i.e.., whether they are matched successfully against a correct wor

Microprocessors and interfaces, #question.write cycle timing diagram for ma...

#question.write cycle timing diagram for maximum mode of 8086 microprocessor.

Optimum solution based on constraint problems, Optimum solution based on co...

Optimum solution based on constraint problems: Whether depending on what solver you are using so there constraints are often expressed as relationships between variables as e.

Importance of using module-instance parameter, Using Module-Instance Parame...

Using Module-Instance Parameter: Parameter values can be overridden while a module is instantiated. New parameter values are passed at the time of module instantiation. Top-

Circles in the visualization, To sktech the circles in the visualization, y...

To sktech the circles in the visualization, you need to use the paramteric equation of a circle (x = r cos (Θ), y = r sin(Θ). A circle can be shown as a polygon where the points of

Define functionality of application layer in tcp/ip protocol, Define the fu...

Define the functionality of application layer in TCP/IP protocol stack? Function of Application Layer: The top layer within the Internet reference model is the applicatio

Define the terms - spatial locality and temporal locality, Define the terms...

Define the terms : spatial locality and temporal locality. Spatial Locality:  The spatial aspect means that instructions in close proximity to a recently implemented instruct

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