채택완료

~5 비트연산 결과는?

~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개 / 댓글 1개

채택된 답변
+20 포인트

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

int, int32, int64 중에서

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

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

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

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

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

답변에 대한 댓글 1개

도움말 감사합니다.

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