~5 비트연산 결과는?

~5 비트연산 결과는?

QA

~5 비트연산 결과는?

답변 1

본문

~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

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

int, int32, int64 중에서

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

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

 

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

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

 

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

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
filter #c# ×
전체 8
© SIRSOFT
현재 페이지 제일 처음으로