在Java中将长字符转换为字节 [英] Casting long to byte in Java

查看:189
本文介绍了在Java中将长字符转换为字节的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我无法理解以下内容:

在Java中,

long l = 130L;  
byte b = (byte)l;

如果我打印b的值,为什么我得到-126?字符串是用Java签名的,所以值的范围是-128到127,它们的长度是多少?

If I print the value of b, why do I get -126? What is the bit representation of long l?

推荐答案

130的位模式为长,当简单截断为8位时,它是-126作为一个字节的位模式。

The bit pattern for 130 as a long, when simply truncated to 8 bits, is the bit pattern for -126 as a byte.

另一个例子:

int x = 255;
byte b = (byte) x; // b is now -1

这篇关于在Java中将长字符转换为字节的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆