sin_addr.S_un.S_addr=(90<<24)|(25<<16)|(14<<8)|10; 是怎么储存ip地址的struct in_addr{ 其中S_un_w 和S_un是怎么存放ip地址的? 满意答案好评率:100%这是一个联合体。三个结构体S_un_b、S_un_w、S_un共用一个4字节内存区。 sin_addr.S_un.S_addr=(90<<24)|(25<<16)|(14<<8)|10=0x5a190e0a也就是ip地址10.14.25.90。 90存在最高字节,25存在次高字节,14存在次低字节,10存在最低字节; 也就是 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是什么运算呢 (90<<24)|(25<<16)|(14<<8)|10是什么意思? 回答人的补充 2010-08-01 15:14
90<<24为90左移24位 |按位或运算。 (90<<24)|(25<<16)|(14<<8)|10相当于一个四字节长整型数,90放在该长 |
|