今天要处理WCDMA的小区ID问题,路测厂家报上来的是RNC_ID经过移位后再加上CELL ID后的值,即PLMN 下的小区标识; 所以需要进行逆运算才能求出用户想要的CELL ID。先将PLMN cell id(十进制)转成十六制;然后从第四位开始往后取; 最后将取的数再转成十进制就可得到实际想要的CELL ID 。如路测报上的PLMN CELL ID 为142739600,十六进制为8820890, 按上述说法取得的数为0890,十进制则为2192,即为CELL ID。 对了,PLMN CELL ID等于RNC_ID转为十六进制后左移4位,然后转成十进制,再加CELL ID。 下面是C#语言中进制间的转换语句,用时可参考。 //十进制转二进制
Console.WriteLine(Convert.ToString(69, 2));
//十进制转八进制
Console.WriteLine(Convert.ToString(69, 8));
//十进制转十六进制
Console.WriteLine(Convert.ToString(69, 16));
//二进制转十进制
Console.WriteLine(Convert.ToInt32(”100111101″, 2));
//八进制转十进制
Console.WriteLine(Convert.ToInt32(”76″, 8));
//十六进制转十进制
Console.WriteLine(Convert.ToInt32(”FF”, 16)); 以上算法经过实际验证,同行研发人员可直接使用。
|