关于计算机内部区分字符与整型的问题

小蝴蝶的幸福 2013-03-26 02:32:10
byte表示64时内部表示形式为01000000一共八位;但是char型字符'A'表示的也是01000000,因此计算机怎么区分是字符'A'还是整型64呢?
...全文
193 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
小绵羊 2013-03-27
  • 打赏
  • 举报
回复
Java虚拟机支持Java语言的基本数据类型如下: byte://1字节有符号整数的补码 short://2字节有符号整数的补码 int://4字节有符号整数的补码 long://8字节有符号整数的补码 float://4字节IEEE754单精度浮点数 double://8字节IEEE754双精度浮点数 char://2字节无符号Unicode字符 几乎所有的Java类型检查都是在编译时完成的。上面列出的原始数据类型的数据在Java执行时不需要用硬件标记。操作这些原始数据类型数据的字节码(指令)本身就已经指出了操作数的数据类型,例如iadd、ladd、fadd和dadd指令都是把两个数相加,其操作数类型别是int、long、float和double。虚拟机没有给boolean(布尔)类型设置单独的指令。boolean型的数据是由integer指令,包括integer返回来处理的。boolean型的数组则是用byte数组来处理的。虚拟机使用IEEE754格式的浮点数。不支持IEEE格式的较旧的计算机,在运行Java数值计算程序时,可能会非常慢。 可以参考下
u010005315 2013-03-26
  • 打赏
  • 举报
回复
信息就是:位+上下文。
dracularking 2013-03-26
  • 打赏
  • 举报
回复
char型字符'A'表示是0000000001000000,不是01000000,char是16位的
STEEL-CHINA 2013-03-26
  • 打赏
  • 举报
回复
楼上的,不是你觉得,本般就是这样的,字符集工作就是把字符转到计算机中认识的数值型数据。 如果计算机认识中文,我们就不要用英文版了,用中文版好了。 因为英文就26个字母,中文却是几千个。
伤感小男人 2013-03-26
  • 打赏
  • 举报
回复
个人觉得在计算机内部只是识别二进制,但是在读取的时候由于代码处理不同,显示的有所不同,在内部应该是一样的,不知道对不对!!!
小绵羊 2013-03-26
  • 打赏
  • 举报
回复
你不都指定了char和byte么?

62,621

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧