String ntohl(int i)
{
int i1 = i % (256);
int i2 = (i %(65536))/(256);
int i3 = (i %(16777216))/(65536);
int i4 = (i)/(16777216);
int i5 = i % (2^8);
int i6 = (i %(2^16))/(2^8);
int i7 = (i %(2^24))/(2^16);
int i8 = i/(2^24);
Log.d(TAG, "i:"+i+" "+i1+"."+i2+"."+i3+"."+i4);
Log.d(TAG, "i:"+i+" "+i5+"."+i6+"."+i7+"."+i8);
return ""+i1+"."+i2+"."+i3+"."+i4;
}
Run Code Online (Sandbox Code Playgroud)
嗨,
我有一个上面列出的方法,它返回一个ipv4地址.我已经完成了计算,但i5 i6 i7 i8与i1 i2 i3 i4不同.
使用模数可以返回您可能不期望的负数.尝试使用以下模式
int i0 = i & 0xFF;
int i1 = (i >> 8) & 0xFF;
int i2 = (i >> 16) & 0xFF;
int i3 = (i >> 24) & 0xFF;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
281 次 |
| 最近记录: |