비트 연산자에 익숙하지 않습니다. 나는이 코드를 가지고 :C# 비트 연산자 대 자바 JavaScript 비트 연산자
var value= -2145643504;
value = (value << 1) | (value >> 27);
//result: -16
모두의 C#과 자바 스크립트 같은 -16을 초래하지만 자바 스크립트에서 C#을하지가 다른 운영자 >>>이있다. JavaScript 코드 :
var value= -2145643504;
value = (value << 1) | (value >>> 27);
//result: 3680304 //wanted result in C#
C#으로 가져 오는 방법은 무엇입니까?
가능 중복 ([자바 부호 오른쪽 시프트 연산자 >>>의 C# 1 당량 란]가 http://stackoverflow.com/questions/8125127/what -is-the-c-sharp-equivalent-of-java-unsigned-right-shift-operator) 특히 Java의 경우이게 자바 스크립트의 경우 동일합니다. – abc123
다음을 시도해보십시오. 'value = (value << 1) | (int) ((uint) value >> 27); ' –