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
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 |
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 |
Why do we need volatile in c?
Distinguish between actual and formal arguments.
write a programming in c to find the sum of all elements in an array through function.
What is && in c programming?
Who invented bcpl language?
find second largest element in array w/o using sorting techniques? use onle one for loop.
15 Answers BitWise, Zycus Infotech,
Is c compiled or interpreted?
Write a code to generate a series where the next element is the sum of last k terms.
what is the c source code for the below output? 1 0 1 1 0 1 0 1 0 1 1 0 1 0 1
What does the file stdio.h contain?
Explain how can a program be made to print the name of a source file where an error occurs?
What is the purpose of realloc()?