下列代码把16进制表示的串转换为3进制表示的串。试完善之。

2014-04-20 06:30:01 阅读( 68 )

2725人 收藏本页

标签:Java面试题

例如:x=“5”
则返回:“12”
又例如:x=”F”
则返回:“120”
private static int getRealValue(char x)
{
if(x>=’0′ && x<=’9′) return x-’0′;
if(x>=’a’ && x<=’f') return x-’a'+10;
if(x>=’A’ && x<=’F') return x-’A'+10;
return 0;
}

public static String jin_zhi_16_3(String x)
{
int n = 0; // 累加真值
for(int i=0; i<x.length(); i++)
{
n = n*16+ getRealValue(x.charAt(i)); // 填空
}

String t = “”;
for(;;)
{
if(n==0) break;
t = (n % 3) + t;
n=n/3; // 填空
}

return t;
}

来自IT公司面试手册

下一篇:Java编程题

上一篇:下列代码求出一个二进制串中连续的1或连续的0出现的最大次数。请填缺失代码。

亲~ 如果您有更好的答案 可在评论区发表您独到的见解。

您想查看更多的信息: 面试题