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 |
what is a function method?give example?
Struct(s) { int a; long b; } Union (u) {int a; long b; } Print sizeof(s)and sizeof(u) if sizeof(int)=4 and sizeof(long)=4
What is sizeof int in c?
print out put like this form 1 2 3 4 5 6 3 5 7 9 11 8 12 16 20
Can you think of a logic behind the game minesweeper.
Write a program to display the no of bit difference between any 2 given numbers eg: Num1 will 12->1100 Num2 will 7->0111 the difference in bits are 2.
write a program to display the array elements in reverse order in c language
How #define works?
how to find your architecture is LittleEndian or BigEndian?
What is the difference between mpi and openmp?
what are you see during placement time in the student.
0 Answers Goldman Sachs, TCS, Tech Solutions,
Difference between C and Embedded C?