Already have an account? Get multiple benefits of using own account!
Login in your account..!
Remember me
Don't have an account? Create your account in less than a minutes,
Forgot password? how can I recover my password now!
Enter right registered email to receive password!
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); }
The LOOP-ENDLOOP on extract datasets can be used without any kind of errors False. It causes runtime errors.
Parallelism based on Granularity size Granularity: Granularity or Grain size is a determine which measure how much computation is devoted in a process.Granularity size is
Describe the purpose and operation of Register 2 (R2) for the MSP430
Determine about the Authoring Software Also termed as author ware; this is a program which helps in the writing of hypertext or multimedia applications. Authoring tools general
A certain memory has a capacity of 4K × 8 (i) How many data input and data output lines does it have? (ii) How many address lines does it have? (iii) What is its capacity in bytes
Matlab will run from sthelens, and only if sthelens is down, from cher, orsay or tiree. It runs on other machines too, but some of the other machines have older versions of the OS
What is precloud computing? Precloud computing is an email access was through a single computer, which also keeps all email messages. Example: Microsoft Outlook or Outlook Expr
In LDB what determines hierarchy of the tables? Structure
Execution of a program in CPU is completed employing different set of registers and their individual circuitry. As CPU registers are used for execution of interrupt service routine
Elucidate the purpose of GDTR. If the microprocessor sends linear address 00200000H to paging mechanism, which paging directory entry and which page table entry is accessed? GD
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!
whatsapp: +91-977-207-8620
Phone: +91-977-207-8620
Email: [email protected]
All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd