java为何没有无符号的数据类型

cyliao 2008-02-15 04:44:13
java的数据类型都是有符号的,byte在java中的范围是-128~127,而在c#中byte范围是0~255,一直不明白,为何java的数据类型没有无符号的类型,难道在java中不需要用无符号的类型?
很显然,C#中的byte型,在java中只能用short来取,这不明显浪费吗,还是java这样做是有其它的考虑?
...全文
3576 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
tfling2012 2011-08-08
  • 打赏
  • 举报
回复
对啊,写不了16进制,写进去的数和C写的无符号数据不匹配,该怎么办呀
cyliao 2008-02-17
  • 打赏
  • 举报
回复
刚看到一段关于java无符号数据类型的说法,还是不太明白:
Java的设计者感到无符号整数是不必要的。具体地说,他们感到无符号(unsigned)概念主要被用来指定高位(high-orderbit)状态,它定义了当int表示一个数字时的符号。你将在第4章中看到,Java对高位含义的管理是不同的,它通过增加一个专门的“无符号右移”运算符来管理高位。这样,就不需要无符号整数了。
网络咖啡 2008-02-16
  • 打赏
  • 举报
回复
可能是简化设计吧
dave080 2008-02-15
  • 打赏
  • 举报
回复
对象
刘彬彬 2008-02-15
  • 打赏
  • 举报
回复
简单就是美, 最简单的方法就是最好的方法啊!
cxz7531 2008-02-15
  • 打赏
  • 举报
回复
数学上的数都有符号,程序设计语言要尽可能贴近实际,区分有符号无符号数容易把初学者搞糊涂
dracularking 2008-02-15
  • 打赏
  • 举报
回复
哦我想这是出于java简约的设计理念吧
cyliao 2008-02-15
  • 打赏
  • 举报
回复
但在C#中同样有有符号的数据类型
dracularking 2008-02-15
  • 打赏
  • 举报
回复
我想C#中使用负数可能也是一样要付出某种代价

62,616

社区成员

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

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