java - Android 中短到字节和字节到短的转换

标签 java android

我正在用 Android 开发一个软件。在软件的特定部分,我需要将短格式转换为字节并重新转换为短格式。我试过下面的代码,但转换后值不一样。

  short n, n1;
  byte b1, b2;
  n = 1200;
  // short to bytes conversion
  b1 = (byte)(n & 0x00ff);
  b2 = (byte)((n >> 8) & 0x00ff);

  // bytes to short conversion
  short n1 = (short)((short)(b1) | (short)(b2 << 8));

执行代码后n和n1的值不一样。为什么?

最佳答案

我没有让 Grahams 解决方案起作用。然而,这确实有效:

n1 = (short)((b1 & 0xFF) | b2<<8);

关于java - Android 中短到字节和字节到短的转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8533607/

相关文章:

java - 认知复杂性及其对代码的影响

java - Playframework 2.3.x JAVA + JPA + MySQL

java - 马文 : Using class from imported jar

java - 将数据从数据库写入文件时保留换行符

android - Parcelable 接口(interface)保留对象引用? &Parcelable.CREATOR 是不是叫了?

java - 带android注释的productFlavors应用程序id

java - 使用未经检查或不安全的操作 - Android Studio

java - 如何使这项工作正常工作并在退出时保存并在重新加载时恢复

java - src/com.app.main && gen/com.app.main 是同一个包吗?

java - 使用相机闪光灯作为手电筒使用 Eclipse 的应用程序无法正常工作