How can I get Single byte from 'int' type variable? Can we
alter single bit or multiple bits in int type variable? if so,
How?

Answers were Sorted based on User's Feedback



How can I get Single byte from 'int' type variable? Can we alter single bit or multiple b..

Answer / hassan noureddine

Use bit wise unary commands:

int i = 0x5678
char LowByte = (char) i; // yield 8;

To alter the bits

i &= 0xFF; // reset upper 2 bytes
i ^= 0xFFFF // invert all bits

Is This Answer Correct ?    0 Yes 0 No

How can I get Single byte from 'int' type variable? Can we alter single bit or multiple b..

Answer / vignesh1988i

we know that integer allocates 2 bytes of memory.
to get a single byte we must type cast the integer to character using pointers.

why because,when we take int i=10;,the binary representation for 10 is 1010 or in 8 bits it can be 0000 1010.
so in memory 2 bytes will be allocated as the whole for int.

let us consider: binary 10 address (2bytes)
0000 65534
0010 65535

in the memory according to the bytes prority the binary numbers will get stored.
so , our task is to take only one byte from int.

int i=10,*j;
j=&i;
printf('%d\n",(char*)j); // type casting of ptr varables

now. in the above ex. and according to the preceeded coding it will print 0 as the output ,which is the output from only one byte of memory location (65534).

any corrections , pl. notify me


thank u

Is This Answer Correct ?    0 Yes 2 No

Post New Answer

More C Interview Questions

what is an inline function?

2 Answers   TCS,


Is array a primitive data type in c?

0 Answers  


Write a program in C to convert date displayed in gregorian to julian date

0 Answers   HCL, Wipro,


How to find the given no is odd or even without checking of any condition and loops. (Hint: Using array)

4 Answers  


Is linux written in c?

0 Answers  


What are the different types of endless loops?

0 Answers  


C program execution always begins with a) #include b) comment (/*-------*/) c) main() d) declaration instructions

0 Answers  


Study the following C program :call_me (myvar)int myvar;{ myvar +- 5; }main(){int myvar;myvar = 3;call_me(myvar);printf("%d ",myvar);What will be printed a) 3 b) 5 c) 8 d) symbol

0 Answers  


HOW CAN ADD OUR FUNCTION IN LIBRARY.

5 Answers  


How can I generate floating-point random numbers?

0 Answers  


Differentiate between calloc and malloc.

0 Answers   Wipro,


Explain how are 16- and 32-bit numbers stored?

0 Answers  


Categories