What is the purpose of the code, and is there any problem
with it?

unsigned int f( unsigned n )

{ return –n & 7; }

Answer Posted / senthil

f returns the 8's complement of the lower 3 bits of a given number

................................(2's complement of n)&0x07
f(0) => -00000000&00000111 => 00000000&00000111 => 00000000 (0)
f(1) => -00000001&00000111 => 11111111&00000111 => 00000111 (7)
f(2) => -00000010&00000111 => 11111110&00000111 => 00000110 (6)
f(3) => -00000011&00000111 => 11111101&00000111 => 00000101 (5)
f(4) => -00000100&00000111 => 11111100&00000111 => 00000100 (4)
f(5) => -00000101&00000111 => 11111011&00000111 => 00000011 (3)
f(6) => -00000110&00000111 => 11111010&00000111 => 00000010 (2)
f(7) => -00000111&00000111 => 11111001&00000111 => 00000001 (1)
f(8) => -00001000&00000111 => 11111000&00000111 => 00000000 (0)
f(9) => -00001001&00000111 => 11110111&00000111 => 00000111 (7)
f(10) => -00001010&00000111 => 11110110&00000111 => 00000110 (6)
.
.

Is This Answer Correct ?    0 Yes 0 No



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

Explain setjmp()?

661


How can I manipulate individual bits?

611


Write the Program to reverse a string using pointers.

621


Apart from dennis ritchie who the other person who contributed in design of c language.

817


How can type-insensitive macros be created?

706






Why do we need volatile in c?

750


What is the use of linkage in c language?

619


What are the two types of structure?

581


What is the default value of local and global variables in c?

562


What are multidimensional arrays?

657


When we use void main and int main?

591


What is the meaning of ?

625


Why doesnt this code work?

620


What is #define used for in c?

618


Create a simple code fragment that will swap the values of two variables num1 and num2.

818