我目前正在從「shellcoder的手冊」中學習,我對c很有深刻的理解,但是最近我遇到了一些我無法理解的代碼。a [0] = addr&0xff是什麼?
下面是一段代碼:
char a[4];
unsigned int addr = 0x0806d3b0;
a[0] = addr & 0xff;
a[1] = (addr & 0xff00) >> 8;
a[2] = (addr & 0xff0000) >> 16;
a[3] = (addr) >> 24;
所以,問題是什麼呢這是什麼地址& 0xFF的(和三線下方),是什麼讓>> 8到它(我知道它把它分成8次2)? Ps:不要猶豫,告訴我,如果你有我應該使用的標籤的想法。
'(addr)>> X'不是被8分割的。這在某些情況下可能是正確的,但'>>'是'addr'的*右移*由'X'給出的*字節數。 –