#include <stdio.h>
#include <stdint.h>
int getBit8(int *pInt32, int index) {
return (*pInt32 >> (index * 8)) & (0xff >> sizeof(int));
}
int getBit8x(int32_t *pInt32, int index) {
return (*pInt32 >> (index * 8)) & (0xff >> 32);
}
int main() {
int a[] = { 0, 1, 2, 3 };
getBit8(a, 2);
getBit8x(a, 1);
printf("%d %d %d %d", a
[0], a
[1], a
[2], a
[3]); }
//http://pt.stackoverflow.com/q/190575/101
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRpbnQuaD4KCmludCBnZXRCaXQ4KGludCAqcEludDMyLCBpbnQgaW5kZXgpIHsKICAgIHJldHVybiAoKnBJbnQzMiA+PiAoaW5kZXggKiA4KSkgJiAoMHhmZiA+PiBzaXplb2YoaW50KSk7Cn0KCmludCBnZXRCaXQ4eChpbnQzMl90ICpwSW50MzIsIGludCBpbmRleCkgewogICAgcmV0dXJuICgqcEludDMyID4+IChpbmRleCAqIDgpKSAmICgweGZmID4+IDMyKTsKfQoKaW50IG1haW4oKSB7CglpbnQgYVtdID0geyAwLCAxLCAyLCAzIH07CglnZXRCaXQ4KGEsIDIpOwoJZ2V0Qml0OHgoYSwgMSk7CglwcmludGYoIiVkICVkICVkICVkIiwgYVswXSwgYVsxXSwgYVsyXSwgYVszXSk7Cn0KCi8vaHR0cDovL3B0LnN0YWNrb3ZlcmZsb3cuY29tL3EvMTkwNTc1LzEwMQ==