社区
Java SE
帖子详情
Byte b=new Byte((byte)128)为什么b=-128
page3
2006-11-15 10:02:08
肯定和Wrapper Class有关,但是究竟怎么算出来的呢
比如把128改成129,b就等于-127了,改称无限大比如999999,b就变成-1了
...全文
533
8
打赏
收藏
Byte b=new Byte((byte)128)为什么b=-128
肯定和Wrapper Class有关,但是究竟怎么算出来的呢 比如把128改成129,b就等于-127了,改称无限大比如999999,b就变成-1了
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
jk88811
2006-11-17
打赏
举报
回复
计算机组成课里有讲的...
楼上几位兄弟分析得不错!!
qgexing13
2006-11-16
打赏
举报
回复
byte范围是-128~127 它可以表示256个数
为什么会出现这样的结果呢,举个例子说明,
假如时钟的12点改成0点,那么时间就是从0------11,可以表示12个数
现在时间是11点 再加1就是0点了,而不是12点。为什么呢,因为11+1-12=0。
同理 128实际上是这样的 128-256=-128。 129-256=-127。
至于到底为什么会这样,这是内存溢出的结果,详细可以看看汇编语言
beexk
2006-11-16
打赏
举报
回复
溢出
luyang1016
2006-11-16
打赏
举报
回复
byte 范围:-128 ----------127
newbinmaster
2006-11-16
打赏
举报
回复
byte范围是-128~127 它可以表示256个数
为什么会出现这样的结果呢,举个例子说明,
假如时钟的12点改成0点,那么时间就是从0------11,可以表示12个数
现在时间是11点 再加1就是0点了,而不是12点。为什么呢,因为11+1-12=0。
同理 128实际上是这样的 128-256=-128。 129-256=-127。
至于到底为什么会这样,这是内存溢出的结果,详细可以看看汇编语言
==========================================================
说的不错,我也是这样想的,在强制转化中也是这样的
toraji
2006-11-15
打赏
举报
回复
byte 范围:-128 ----------127
laitaogood
2006-11-15
打赏
举报
回复
好象是溢出吧
88324877
2006-11-15
打赏
举报
回复
按照补码存储
JAVA(初学)
byte
a=(
byte
)
128
;
byte
b=(
byte
)(-129); a,b得到的值分别为
a和b得值分别为-
128
和127. 这个是编码方式决定的,Java中正数用源码表示,负数用补码表示,第一位是符号位。 所以对于
128
和-129,他们的编码分别是: 0000 0000 0000 0000 0000 0000 1000 0000 1111 1111 1111 1111 1111 1111 0111 1111。 对于a来说,1000 0000是负数(第一位为1),它的
btye[] b =
new
byte
[1024]
btye[] b =
new
byte
[1024]; 1024是作为缓冲区的大小。作用就是:作为缓冲区大小的作用,会影响导出时占用内存大小。 即说你先定义了一个
byte
类型的数组,数组长度为1024。也就是说你最多可以存1024个字节的东西,如果超过这个值就会报溢出的异常了 1024b=1k 一般我们定义缓冲区基本上是1024的整数倍 InputSt
byte
byt[] =
new
byte
[1024]的含义
byte
byt[] =
new
byte
[1024]; //1024是什么意思
byte
数组的初始化,数组的长度为1024, 从你的代码看来表达的是每次从文件读取1024个字节。 8bit(位)是1
byte
(字节) 1024
byte
是1kb
byte
byt[] =
new
byte
[1024]是1k,1024bit是一个字节
new
String(byt, 0, len); //这里的0是什么意思 这是将字节数组中角标为 0 到角标为 len-1 转化为字符串。 第一个byt参数就是你定义的数据名;
java中
byte
[] b =
new
byte
[1024
如果要调用子类独有的方法的时候,直接用父类是没办法进行调用的, 必须转换《讲animal(父)类型的再转换为cat(子类型) ,如下 /* 猫 ,狗,动物之间的关系 */ abstract class Animal { public abstract void eat(); } class Cat extends Animal { public void eat(
byte
[] buffer=
new
byte
[1024]
byte
[] buffer=
new
byte
[4096]
byte
[] buffer =
new
byte
[4096] 4096=1024*4=4K 只是在内存中开辟块缓冲区而已。大小随便写,只要不超过你实际可用内存大小就好。不过太大或者太小都会对性能有影响。所以通常采用 4 的倍数,或者 1K 的倍数作为
Java SE
62,615
社区成员
307,307
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章