首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将Char更改为具有相同位结构的short。(2的补码问题)

将Char更改为具有相同位结构的short。(2的补码问题)
EN

Stack Overflow用户
提问于 2013-02-02 00:36:38
回答 1查看 67关注 0票数 0

我想将Char改为具有相同位结构的short。两者都是16位

我知道短的是2的补码,如果它们是1的补码,我可以使用

代码语言:javascript
复制
if a < 0 {return (short) math.abs a + 2 ^ 15;} else {return (short) a;} //right?

如何对2s补码进行否定?

我只是希望能够像处理Integer一样操作Char的内部结构。

如果答案是只加一个,我就会变得情绪化:)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-02 00:39:41

简单的解决方案是这样做

代码语言:javascript
复制
char ch = ...
short s = (short) ch;
char ch2 = (char) s;
// ch == ch2

也许您认为它必须比实际情况更复杂;)

我只是希望能够像处理整数一样操作

的内部结构。

在这种情况下,你甚至不想要一个short,你想要一个更简单的int

例如:

代码语言:javascript
复制
// sum all the chars of a string
String s = "Hello World";
int sum = 0;
for(char ch: s.toCharArray())
    sum += ch;

如果答案是只加一个,我会变得情绪化

不,甚至比这还少。:j

顺便说一句,你可以做到

代码语言:javascript
复制
char ch = 'A';
int i = ch + 0;
int j = ch;
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14650889

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档