A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

byte  是一个八位 这个 最高不是1+2+4+8+16+32+64吗?这个负数怎么求的呢 表示不解为什么是-128呢?
还有这个long是占多少个字节?double占几个?和C不一样啊

7 个回复

倒序浏览
byte 1字节
byte取值范围-128~127  Java使 用 补 码 来 表 示 二 进 制 数 ,在 补 码 表 示 中 ,最 高 位 为符号 位 ,正 数 的 符 号 位 为 0,负 数 为 1。对 负 数 而 言 ,把 该 数 绝 对 值 的 补 码 按 位 取 反 ,然 后 对 整个数 加 1,即 得 该 数的 补 码 。1byte的最大值是0111 1111,最小值为10000000,把10000000减去1,得01111111,再取反即10000000,就是-128
short 2字节
int 4字节
long 8字节
float 4字节
double 8字节
char 2字节
boolean 1位
回复 使用道具 举报
楼上正解!
回复 使用道具 举报
学习了~
回复 使用道具 举报
咖啡苏克 发表于 2014-7-12 21:37
byte 1字节
byte取值范围-128~127  Java使 用 补 码 来 表 示 二 进 制 数 ,在 补 码 表 示 中 ,最 高 位  ...

学习了 亲 谢谢
回复 使用道具 举报
咖啡苏克 发表于 2014-7-12 21:37
byte 1字节
byte取值范围-128~127  Java使 用 补 码 来 表 示 二 进 制 数 ,在 补 码 表 示 中 ,最 高 位  ...

这个 布尔型 只有true  和false  这个是结果 是一个字节吗?
回复 使用道具 举报
咖啡苏克 发表于 2014-7-12 21:37
byte 1字节
byte取值范围-128~127  Java使 用 补 码 来 表 示 二 进 制 数 ,在 补 码 表 示 中 ,最 高 位  ...

1byte的最大值不是  1111 1111吗???为什么是0111 1111呢?

点评

最高位是符号位  发表于 2014-7-13 09:45
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马