Re: union to get parts of integer

Tim Walberg <[email protected]> Mon, 20 Dec 2010 09:30:08 -0600
Newsgroups org.kernel.vger.linux-c-programming
Message-ID <[email protected]>
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...



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--


End of included message



-- 
+----------------------+
| Tim Walberg          |
| 830 Carriage Dr.     |
| Algonquin, IL 60102  |
| [email protected] |
+----------------------+