나는 16 비트 부호없는 정수를 가지고 그 값은 다음과 같이이다 : 나는이 작업을 수행 한VB.NET의 Ushort 16 비트 정수에서 비트를 이동하는 방법은 무엇입니까?
1100000000000000
을 :이에서
byte_val1 = 1000000000000001
내가 바로이처럼이 이동하고 확인해야합니다
byte_val1 = byte_val1 >> 1
및 받기 byte_val1 = 100000000000000
.
은 그 후 내가
byte_val1 = byte_val1 Or &H80
을했지만 내가 원하는 결과를 얻을하지 않았다 ... 대신 내가
100000010000000
을 얻었다.
그럼 결과를 얻으려면 어떻게해야합니까?
이 항상 왼쪽에 1을 추가 할 것입니다. 맨 오른쪽 비트가 0이면 어떨까요? 처음에'byte_val1 And & H8000'과 같은'& H8000' 대신에 mask를 사용하고 싶을 수도 있습니다. 그런 다음 'byte_val1 = byte_val1 or mask'를 수행하십시오. – Neolisk