今天要处理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));
以上算法经过实际验证,同行研发人员可直接使用。
联系客服