我正在Android中开发一个软件.在软件的特定部分,我需要将short转换为byte并重新转换为short.我试过下面的代码,但转换后的值不一样.
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));
Run Code Online (Sandbox Code Playgroud)
执行n和n1的代码值后不相同.为什么?
我没有让Grahams解决方案工作.然而,这确实有效:
n1 = (short)((b1 & 0xFF) | b2<<8);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3344 次 |
| 最近记录: |