我想将Char更改为具有相同位结构的short。 两者都是16位
我知道如果他们是1s补充我可以使用
,那么短是2s补if a < 0 {return (short) math.abs a + 2 ^ 15;} else {return (short) a;} //right?
我如何做2s补充否定?
我只是希望能够以与整数相同的方式操纵Char的内部。
如果答案只是添加一个,我将变得情绪激动:)
答案 0 :(得分:5)
简单的解决方案是
char ch = ...
short s = (short) ch;
char ch2 = (char) s;
// ch == ch2
也许您认为它必须比它更复杂;)
我只是希望能够以与整数相同的方式操纵Char的内部。
在这种情况下,你甚至不想要一个short
,你想要一个更简单的int
。
e.g。
// sum all the chars of a string
String s = "Hello World";
int sum = 0;
for(char ch: s.toCharArray())
sum += ch;
如果答案只是添加一个我将变得情绪化
不,甚至不到那个。 :J-
BTW你可以做到
char ch = 'A';
int i = ch + 0;
int j = ch;