当前位置: 代码迷 >> Java相关 >> [求助]关于数据类型的问题。
  详细解决方案

[求助]关于数据类型的问题。

热度:131   发布时间:2007-04-10 11:31:07.0
[求助]关于数据类型的问题。

本人在学习时是参考JAVA程序设计入门一书。

●、在JAVA数据类型的整型中,不管是Byte型、Sort型、Int型或是Long型数据都有二进制、八进制(以0为前缀)、十进制、十六进制(以0x为前缀)等四种数制形式,由括号内的注释可知:八进制与十六进制都有前缀来区分,那二进制与十进制JAVA是如何区分它们的呢?另外,这四种数制在输出到控制台时是否都自动转换成十进制呢?

●、根据书中的介绍,Byte型占位一个字节,取值范围为-128至127之间;
我的分析:占位一个字节,也就是8位,去除前面一位的符号位,所能表示的最大数为1111111,换算成十进制数为127,那取值范围应该是从-127至127之间呀,那书上所说的-128至127是不是错了呢

其余的像short型、int型、及Long型类同。

搜索更多相关的解决方案: 数据类型  JAVA  八进制  二进制  前缀  

----------------解决方案--------------------------------------------------------
以下是引用kiis99在2007-4-10 11:31:07的发言:

本人在学习时是参考JAVA程序设计入门一书。

●、在JAVA数据类型的整型中,不管是Byte型、Sort型、Int型或是Long型数据都有二进制、八进制(以0为前缀)、十进制、十六进制(以0x为前缀)等四种数制形式,由括号内的注释可知:八进制与十六进制都有前缀来区分,那二进制与十进制JAVA是如何区分它们的呢?另外,这四种数制在输出到控制台时是否都自动转换成十进制呢?

●、根据书中的介绍,Byte型占位一个字节,取值范围为-128至127之间;
我的分析:占位一个字节,也就是8位,去除前面一位的符号位,所能表示的最大数为1111111,换算成十进制数为127,那取值范围应该是从-127至127之间呀,那书上所说的-128至127是不是错了呢

其余的像short型、int型、及Long型类同。

1,JAVA里面没有二进制的直接表示法,所以不用区分,在控制台上打印出来的,默认都是十进制的
2,byte是一个字节有8位,也就是从10000000-01111111也就是-128->127,你说的八个一(11111111)其实就是-1,二进制里面的负数是取反再减一,其余也一样,就像char和short一样,它们都是16位,两个字节,char因为是无符号的所以它的范围是0-65535而short是有符号的,所以范转是:-32768---32767
----------------解决方案--------------------------------------------------------
谢谢呀
----------------解决方案--------------------------------------------------------

  相关解决方案