Re: union to get parts of integer

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Tim Walberg <twalberg@xxxxxxxxxxx> 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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Assembler]     [Git]     [Kernel List]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [C Programming]     [Yosemite Campsites]     [Yosemite News]     [GCC Help]

  Powered by Linux