Re: union to get parts of integer

Michal Nazarewicz <[email protected]>
Newsgroups gmane.linux.c-programming
Message-ID <[email protected]>
Tim Walberg <[email protected]> writes:
> It's likely that either the union or direct pointer expressions yield
> more efficient code, as they can probably be compiled to direct byte-width
> load/store instructions, rather than shifts and logical ands... However,
> if the code's not in a critical path for performance, it probably won't
> matter. And on some architectures, there may not be byte-width operations,
> I guess...

It's not the issue of performance.  It's an issue of whether you want
each separate byte as saved in memory (which should rarely be the case)
or if you want specific part of the value.

> On 12/20/2010 15:44 +0100, Michal Nazarewicz wrote:
>>>	
>>>	((char *)&i)[0].
>>>	
>>>	However, are you sure that you need this?  Don't you need "(i & 255)",
>>>	"((i >> 8) & 255)", etc. instead?
>>>	
>>>	-- 
>>>	Best regards,                                         _     _
>>>	 .o. | Liege of Serenly Enlightened Majesty of      o' \,=./ `o
>>>	 ..o | Computer Science,  Michal "mina86" Nazarewicz   (o o)
>>>	 ooo +--<mina86-tlen.pl>--<jid:mina86-jabber.org>--ooO--(_)--Ooo--

-- 
Best regards,                                         _     _
 .o. | Liege of Serenly Enlightened Majesty of      o' \,=./ `o
 ..o | Computer Science,  Michal "mina86" Nazarewicz   (o o)
 ooo +--<mina86-tlen.pl>--<jid:mina86-jabber.org>--ooO--(_)--Ooo--
--
To unsubscribe from this list: send the line "unsubscribe linux-c-programming" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.