当前位置:  开发笔记 > 编程语言 > 正文

什么是C#逻辑右移的代码?

如何解决《什么是C#逻辑右移的代码?》经验,为你挑选了1个好方法。

我试图将逻辑右移(>>>)(>>>和>>之间的差异)转换为C#的Java代码

Java代码是

 return hash >>> 24 ^ hash & 0xFFFFFF;

C#被标记>>>为语法错误.

如何解决?

更新1 人们建议>>在C#中使用,但它没有解决问题.

System.out.println("hash 1 !!! = " + (-986417464>>>24));

是197年

Console.WriteLine("hash 1 !!! = " + (-986417464 >> 24));

是-59

谢谢!



1> dasblinkenli..:

Java需要引入,>>>因为它只有无符号类型char,其操作以整数形式完成.

另一方面,C#具有无符号类型,它们在没有符号扩展的情况下执行右移:

uint h = (uint)hash;
return h >> 24 ^ h & 0xFFFFFF;

推荐阅读
爱唱歌的郭少文_
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有