java 中的字符变量char范围不是为0~255吗?为什么c2>127时,c2的输出都为?
publicclasslianxi{publicstaticvoidmain(String[]args){charc1='k';charc2=220;System.out...
public class lianxi{
public static void main(String[] args){
char c1='k';
char c2=220;
System.out.println("c1="+c1);
System.out.println("c2="+c2);
}
}
c2的输出都为问号 展开
public static void main(String[] args){
char c1='k';
char c2=220;
System.out.println("c1="+c1);
System.out.println("c2="+c2);
}
}
c2的输出都为问号 展开
4个回答
展开全部
char占两个字节 65536位 可以存一个中文的...
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
byte -128~127
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的编译软件是什么默认编码?utf-8?
用cmd执行试试
用cmd执行试试
更多追问追答
追答
char的取值范围好像是-127---128!
按八位来算:
在计算机里面是用补码表示的,128的二进制码是:10000000,这个东西在计算里面并不是128,因为最高位是符号,它是个负数,那么负数的原码是多少呢,我们知道如果补码的符号位为“1”,表示是一个负数,求原码的操作可以是:符号位为1,其余各位取反,然后再整个数加1。
所以,10000000取反后就是11111111,把符号位去了就是01111111再加1就是10000000就是-128了。
其实你看-127是10000001,这个很好理解,-128加1不就是-127嘛。
帮你找了一下!转的别人的!
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询