~5 비트연산 결과는?

~5 비트연산 결과는?

QA

~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

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

int, int32, int64 중에서

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

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

 

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

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

 

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

답변을 작성하시기 전에 로그인 해주세요.
전체 123,652 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT