我有一个包含二进制值( 101101 )的字符串。现在我想检查最后一个字母是否为 1 ,如果是,请将其更改为 0 。我怎样才能做到这一点 ?
问问题
111 次
5 回答
6
String result = "101101".substring(0,5) + "0";
为什么要检查?最后一个字符将始终为 0,无论它之前是 1 还是 0...
于 2012-08-15T12:18:18.690 回答
3
你可以写
int i = 0b101101;
if (i & 1 != 0)
i = i & ~1;
或者更简单
i &= ~1; // sets lowest bit to 0.
于 2012-08-15T12:17:47.543 回答
3
于 2012-08-15T12:19:02.820 回答
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);
于 2012-08-15T12:16:46.217 回答
1
int binary = 0b101101;
if ( binary % 2 != 0 )
{
binary = binary ^ 1b;
}
于 2012-08-15T12:16:47.403 回答