Java中如何复制原始类型内存?

发布于 2024-12-04 02:12:37 字数 63 浏览 1 评论 0原文

我有两个字符 = 4 个字节,代表整数值(从流中获取)。

如何将它们复制到原始 int 变量中?

I have two chars = 4 bytes, that representing integer value (geted from stream).

How can I copy these into a primitive int variable?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

情域 2024-12-11 02:12:38

您最好从一开始就以 int 形式读取 4 个字节。但是,要将两个 char 转换为 int,您可以使用

char ch1, ch2;
int i = (ch1 << 16) + ch2; // or ch2 << 16 + ch1

您需要知道顺序是小端还是大端。

You are better off reading 4 bytes as an int from the start. However to turn two char into an int you can use

char ch1, ch2;
int i = (ch1 << 16) + ch2; // or ch2 << 16 + ch1

You need to know whether the order is little or big endian.

梦罢 2024-12-11 02:12:38

这是一种可能的方法:

char a = 0x00FF;
char b = 0x0F0F;
int  i = b << 16 | a;

但是:您必须担心字节顺序以及 int 已签名的事实。

Here's one possible way of doing it:

char a = 0x00FF;
char b = 0x0F0F;
int  i = b << 16 | a;

BUT: you'll have to worry about endianness, and about the fact that int is signed.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文