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