改变二进制值元素的位置

时间:2012-08-15 12:13:20

标签: java binary

我有一个包含二进制值的字符串(101101)。现在我想检查最后一个字母是否为1,如果是,则将其更改为0。我怎么能这样做?

5 个答案:

答案 0 :(得分:6)

String result = "101101".substring(0,5) + "0";

为什么检查?最后一个字符将始终为0,无论它是否为1或0 ......

答案 1 :(得分:3)

你可以写

int i = 0b101101;
if (i & 1 != 0)
   i = i & ~1;

或更简单

i &= ~1; // sets lowest bit to 0.

答案 2 :(得分:3)

简易版;

String binary = "101101";

binary = binary.substring(0, binary.length() - 1) + "0";

示例here

答案 3 :(得分:1)

一种可能的解决方案:

    String k = "101101";

    System.out.println(k);

    int len = k.length();
    char[] charr = k.toCharArray();
    if(charr[len - 1] == '1') {
        charr[len - 1] = '0';
    }
    k = new String(charr);

    System.out.println(k);

答案 4 :(得分:1)

int binary = 0b101101;

if ( binary % 2 != 0 )
{
    binary = binary ^ 1b;
}