永发信息网

JAVA里int型强制转化成byte型

答案:3  悬赏:0  手机版
解决时间 2021-03-20 09:33
  • 提问者网友:嘚啵嘚啵
  • 2021-03-19 21:52
JAVA里int型强制转化成byte型
最佳答案
  • 五星知识达人网友:琴狂剑也妄
  • 2021-03-19 22:20
byte类型表示范围是-128~127,容量是256,用一个字节表示,int 是4个字节,int 化为byte只保留最后一个字节;我们可以把整型数化成2进制补码形式后分析最后八位(257
->0000 0001)作为byte类型的二进制表示,byte的最高位是符号位,0表示正数,这里的结果化为真值用十进制表示就是1,若int类型是负数也可以进行同样操作,只不过最后补码转换为真值再换算成十进制稍微麻烦。

全部回答
  • 1楼网友:渊鱼
  • 2021-03-20 00:06
因为java的byte类型只占一个字节,即2的8次方,表示的范围是0~127,128溢出了当做0,129为1,以此类推。所以 257转换为byte后的值为:257-128-128=1323转换为byte后:323-128-128=67
  • 2楼网友:孤独入客枕
  • 2021-03-19 23:27
byte的取值范围是: -128~127
int的取值范围是: -2147483648~2147483647)
double的取值范围是: 1.797693e+308~ 4.9000000e-324
你把int类型强转为byte时, 是向下转型, 就像一桶水非要灌倒一个杯子里, 会溢出, 所以精度丢失了
double转byte类似原理, 具体建议你详细学一下存储结构
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯