Anup Joshi wrote:
> hello friend
> noticing that my previous post was too short and complicated to understand i
> have decided to give a better reply to you. unions save a lot of time and
> handle complicated tasks easily and urs seems similar to that so here is a
> simple example of unions for you with its output:
>
> unions.c:
> ========================================
>
> #include <stdio.h>
>
> union vals {
> unsigned short x;
> unsigned char y[1];
> } myvals;
>
> int main() {
> myvals.y[0] = 1; //lsb -- 00000001
> myvals.y[1] = 21; //msb --00010101
>
unsigned char y[1] only has a valid subscript of 0
whether your solution works will depend on whether you're on a big or
little endian system
> printf("%d", myvals.x); // displaying 16 bit uint 0001010100000001
> printf("\n %d", sizeof(myvals));
> }
>
> ==========================================
> and its output is :
>
> 5377
> 2
>
> The size of a union is equal to the size of it's largest data member. in this
> case it is 2 bytes bcoz of 16bit uint. and the uint and the array of char
> share the same memory space. hence using array of 2 1 byte uchars we can
> easily access the lsb and msb of the uint.
> i hope you understand this time what i am trying to say and this works for
> you too. sorry for the last post which was not very useful. i was using
> borland turbo c++ 3.0's c compiler on my machine.
>
> bdrmachine <[EMAIL PROTECTED]> wrote: Can
> someone give me a C example of how to combine 2 unsigned chars (msb
> and lsb) and store as a unsigned int (L)? It seams the technique I'm
> using is more involved then it should be. Would "L= msb<<8 + lsb;"
> work? I'm working on a program for a 8 bit microcontroller. Unsigned
> char's are 8 bits long and unsigned int's are 16 bits.
>
> Thanks
> Brian
>
>
>
>
>
>
>
>
> ---------------------------------
> Ready for the edge of your seat? Check out tonight's top picks on Yahoo! TV.
>
> [Non-text portions of this message have been removed]
>
>
>
> To unsubscribe, send a blank message to <mailto:[EMAIL PROTECTED]>.
> Yahoo! Groups Links
>
>
>
>
>