sin_addr.S_un.S_addr=(90<<24)|(25<<16)|(14<<8)|10; 是怎么儲(chǔ)存ip地址的struct in_addr{ 其中S_un_w 和S_un是怎么存放ip地址的? 滿意答案好評(píng)率:100%這是一個(gè)聯(lián)合體。三個(gè)結(jié)構(gòu)體S_un_b、S_un_w、S_un共用一個(gè)4字節(jié)內(nèi)存區(qū)。 sin_addr.S_un.S_addr=(90<<24)|(25<<16)|(14<<8)|10=0x5a190e0a也就是ip地址10.14.25.90。 90存在最高字節(jié),25存在次高字節(jié),14存在次低字節(jié),10存在最低字節(jié); 也就是 sin_addr.S_un_b.s_b1=10, sin_addr.S_un_b.s_b2=14, sin_addr.S_un_b.s_b3=25, sin_addr.S_un_b.s_b4=90, 也就是 sin_addr.S_un_w.s_w1=(14<<8)|10=3594, sin_addr.S_un_w.s_w2=(90<<24)|(25<<16)=23065。 提問人的追問 2010-08-01 15:10
(90<<24)|(25<<16)|(14<<8)|10=0x5a190e0a是什么運(yùn)算呢 (90<<24)|(25<<16)|(14<<8)|10是什么意思? 回答人的補(bǔ)充 2010-08-01 15:14
90<<24為90左移24位 |按位或運(yùn)算。 (90<<24)|(25<<16)|(14<<8)|10相當(dāng)于一個(gè)四字節(jié)長整型數(shù),90放在該長 |
|