Bin To Dec代码说明

时间:2013-07-05 10:26:13

标签: java binary decimal

T学生,我的老师说代码还可以..但是她问我二进制输入00101怎么变成5.0分。 我真的需要帮助。我不知道如何解释00101 bin如何变成5.0 我尝试了许多计算,如。

5(chararraylength)-3(指数)-1 * math.pow = 4

我无法得到最后一个使我的4进入5.o dec。

的数字
char[] charArray = binary.toCharArray(); 
double answer = 0; 
for (double index = 0; index < charArray.length; index++){
  if (charArray[(int)index] == '1') {
    answer = answer + Math.pow(2.0, (charArray.length - index - 1));

2 个答案:

答案 0 :(得分:0)

你使用操作双打的Math.pow(),这是正常的。

打印(int) answer或使用此代码:

final int size = charArray.length;
char c;
int answer = 0;

for (int index = size; index > 0; index++) {
    if (charArray[index] == '1')
        answer++;
    answer <<= 1;
}

另请注意,数组索引为int s,因此您的index变量应为int。

答案 1 :(得分:0)

我不确定我是否理解你的问题,但这是程序的计算:

00101表示
 0 * 2 ^ 4 + 0 * 2 ^ 3 + 1 * 2 ^ 2 + 0 * 2 ^ 1 + 1 * 2 ^ 0
= 0 * 16 + 0 * 8 + 1 * 4 + 0 * 2 + 1 * 1 = 5

Wikipedia Binary_number

的更多详情