帥哥,char是單字節的他最大只能到128你給他200,坑定部隊了
解决方案 »
- 如何显示的删除JVM中的一个引用指向的对象
- 哪位能举一下例子
- 在JSP中用JDBC连接SQLSERVER2000的问题,大家都来讨论一下,应该比较有代表性
- 始终没有得到正确的答案
- java synchronized问题 求帮忙解释一下
- 如何在一个类里引用另一个类里的已经存在的实例?
- 多线程类无法继承Thread,Runnable是什么原因啊
- 跑马灯的Applet程序用JBuilder怎么实现?
- 小菜鸟一只我这次可又被卡住了-为什么我的JDK里的JAVAC好用,JAVA就是打死也不好用--各位老鸟,拜托了!
- 请问一下哪里有thinkink in java这本书下载
- 一个小程序,一个小问题(数值如何压入栈中)
- JDialog的问题
8个字节的话,最大可以表示的数应该是多少呀??
我知道char是8位2进制数,也就是说可以表示0~255。所以我不明白各位的128是什么意思?尽管我知道我的在大于127的时候会出错!
char是16位無符號整數,取值範圍為065535,作為字母數字它與高位置0的ASCII字符一樣
String中的使用的是char,也就是16位的,在getBytes的时候,它的转化很有意思,如果是小于128,也就是16位的前8位为0,它就放到一个byte中,因为这么做不会造成任何精度损失,大于128的,如果采用同样的手段就会有问题,所以,放入两个byte中。你可以做一下实验。String的长度和getBytes出来byte数组长度实际上是不相等地。
这么做实际上是合理的,你可以想一下。如果我们做一个网络传输的例子,一边是Java程序,另一边是C程序,如果每个字节都转成2个byte的话,小于128的势必要被要有高字节为0,而在C程序里0代表着字符串截止,你的处理就会出现问题。