테스트 사이트 - 개발 중인 베타 버전입니다

~5 비트연산 결과는? 채택완료

sinbi 4년 전 조회 1,550

~5 비트연산 결과는, -6인가요? 10인가요?

 

제 생각엔 아래 과정 거쳐서 10 나올 것 같은데,

~ 5  →  ~0101  →  1010  →  10 

 

연산해보니까 -6으로 나오더라구요.

 

using System; namespace Homzzang {   class Program   {     static void Main(string[] args)     {       Console.WriteLine(~ 5); // -6      }   } }

댓글을 작성하려면 로그인이 필요합니다.

답변 1개

채택된 답변
+20 포인트
4년 전

기본 자료형부터 체크하셔야 할것 같네요.

int, int32, int64 중에서

int 의 경우 os 시스템마다 다르게 할당될수 있습니다.

항상 현재 자료형이 뭔지를 확인하셔야 하구요.

 

signed 와 unsigned 일 경우도 잘 체크하셔야 합니다.

signed 의 경우 첫비트를 부호 연산자를 쓰기 때문에 언더플로우 오버플로우에 대해서도 신경쓰셔야 합니다.

 

(예전 c처음 배울때 배운거라서 정확한지는 잘 모르겠네요.. PHP에서는 비트 연산을 쓸 일이 거의 없어서.)

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

s
sinbi
4년 전
도움말 감사합니다.

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인