按位移位和字节强制转换在Java和C#中给出不同的结果

约瑟夫

我正在C#和Java中测试以下代码:

int lngCRC = 3012;
byte[] crc = new byte[2];
crc[0] = (byte)(lngCRC & 0xFF);
crc[1] = (byte)(lngCRC >> 8);

C#输出为:

crc [0] = 196;  
crc [1] = 11;

Java输出为:

crc [0] = -60;  
crc [1] = 11;

如何用两种语言获得相同的结果?

他们是

Java字节已签名(即,在-128和127之间)。我猜在C#中它们是未签名的。

二进制中的3012是00001011 11000100

不管字节是带符号字节还是无符号字节,高字节均为11。

当您将低字节11000100视为无符号字节时,它是196

当您将其视为有符号字节时,它是-60。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

按位移位和字节强制转换在Java和C#中给出不同的结果

来自分类Dev

Perl按位与和按位移位

来自分类Dev

按位移位和Bash中的最大整数

来自分类Dev

按位移位操作在VB.NET中给出的是32位结果而不是64位的结果

来自分类Dev

C#和Cryptojs的TripleDESCryptoServiceProvider给出不同的结果

来自分类Dev

Node JS和C#中的AES加密给出不同的结果

来自分类Dev

Java中带字节的位移位的怪异行为

来自分类Dev

Javascript 到 Python,在 for 循环的条件和最终表达式中按位移位

来自分类Dev

JAVA和Delphi中的数学函数给出不同的结果

来自分类Dev

JAVA和Delphi中的数学函数给出不同的结果

来自分类Dev

在Java中使用常数1中的按位移位的优势

来自分类Dev

在 C++ 中,é 如何按位移位为 E?

来自分类Dev

相同的字节数组=> Java和C#中的BigInteger值不同

来自分类Dev

C按位与-O0和-O2给出不同的结果

来自分类Dev

C语言中的按位移位问题

来自分类Dev

C 对按位移位操作感到困惑

来自分类Dev

将base64编码的字节转换为Javascript和C#中不同的字符串

来自分类Dev

C#和强制转换通用参数

来自分类Dev

C中的按位运算符和移位问题

来自分类Dev

C语言中的字节序和指针强制转换

来自分类Dev

SHA2_512加密C#和SQL方法给出不同的结果

来自分类Dev

SHA2_512加密C#和SQL方法给出不同的结果

来自分类Dev

小端和大端的位移位

来自分类Dev

C#和Access VBA中的查询产生不同的结果

来自分类Dev

在C#和PHP中,AES加密的结果不同

来自分类Dev

DecimalFormat在Oracle Java 1.7和IBM Java 1.6中给出不同的结果

来自分类Dev

DecimalFormat在Oracle Java 1.7和IBM Java 1.6中给出不同的结果

来自分类Dev

Java和C ++中的位移差异-如何调和

来自分类Dev

为什么C#中的32位移位会返回原来移位的值?

Related 相关文章

  1. 1

    按位移位和字节强制转换在Java和C#中给出不同的结果

  2. 2

    Perl按位与和按位移位

  3. 3

    按位移位和Bash中的最大整数

  4. 4

    按位移位操作在VB.NET中给出的是32位结果而不是64位的结果

  5. 5

    C#和Cryptojs的TripleDESCryptoServiceProvider给出不同的结果

  6. 6

    Node JS和C#中的AES加密给出不同的结果

  7. 7

    Java中带字节的位移位的怪异行为

  8. 8

    Javascript 到 Python,在 for 循环的条件和最终表达式中按位移位

  9. 9

    JAVA和Delphi中的数学函数给出不同的结果

  10. 10

    JAVA和Delphi中的数学函数给出不同的结果

  11. 11

    在Java中使用常数1中的按位移位的优势

  12. 12

    在 C++ 中,é 如何按位移位为 E?

  13. 13

    相同的字节数组=> Java和C#中的BigInteger值不同

  14. 14

    C按位与-O0和-O2给出不同的结果

  15. 15

    C语言中的按位移位问题

  16. 16

    C 对按位移位操作感到困惑

  17. 17

    将base64编码的字节转换为Javascript和C#中不同的字符串

  18. 18

    C#和强制转换通用参数

  19. 19

    C中的按位运算符和移位问题

  20. 20

    C语言中的字节序和指针强制转换

  21. 21

    SHA2_512加密C#和SQL方法给出不同的结果

  22. 22

    SHA2_512加密C#和SQL方法给出不同的结果

  23. 23

    小端和大端的位移位

  24. 24

    C#和Access VBA中的查询产生不同的结果

  25. 25

    在C#和PHP中,AES加密的结果不同

  26. 26

    DecimalFormat在Oracle Java 1.7和IBM Java 1.6中给出不同的结果

  27. 27

    DecimalFormat在Oracle Java 1.7和IBM Java 1.6中给出不同的结果

  28. 28

    Java和C ++中的位移差异-如何调和

  29. 29

    为什么C#中的32位移位会返回原来移位的值?

热门标签

归档