본문 바로가기
Java/problems

비트연산자 , 보수

by avvin 2019. 4. 4.

https://kin.naver.com/qna/detail.nhn?d1id=1&dirId=1040101&docId=275141163&qb=67mE7Yq47Jew7IKw7J6QIOyTsOyehA==&enc=utf8§ion=kin&rank=1&search_sort=0&spq=0&pid=U6U5Xwp0JXVssvAEHcCssssstMs-036819&sid=XoZ6vW7E0Bybzv4Y28E/R8Md

 

C언어에서 비트 연산자의 활용 질문

#include int main(void) { int num; int intLen, i; intLen = sizeof(int) * 8;//int의 비트...

kin.naver.com

 

https://blog.naver.com/badwin/221179926161

 

컴퓨터가 10진수 숫자(정수)를 표현 하는 방법, 2진수 사용방법, 음수, 양수 변환하는방법, 컴퓨터가 사칙연산 하는 방법, 시프트 연산 하기

우리는 모두 컴퓨터과 1과 0만으로 모든 데이터를 표현 한다는 것을 알고 있다. 그리고 1 또는 0을 우리는 ...

blog.naver.com

 

https://terms.naver.com/entry.nhn?docId=3405109&cid=47324&categoryId=47324

 

보수

보수 (complement) 10에 대한 3의 보수란 10-3, 즉 7을 말한다. 일반적으로 n에 대한 m의 보수는 n-m을 뜻하는데, 보수는m에서 n을 만들기 위해 보충해야 하는 수 n-m을 가리키는 용어다. [목차] 1.십진법에서 보수의 응용 2.이진법과 보수 3.계산기와 보수 4.같이 읽기 [ 십진법에서 보수의 응용 ] 보수의 개념은 사칙계산 중에서 특히 뺄셈에 응용된다. 예를 들어, 17-8을 계산하는 경우, 10에 대한 8의 보수가 2임을 이용하

terms.naver.com

 

 

 

10이 0이 되게하는 수 = -10 (10진법에서 10의 보수 = -10, 부호만 바뀐 값)

 

2진법(binary digit)에서 10의 보수 구하기

 

10(10진수) = 0000 1010(2진수) 

0000 1010이 1111 1111이 되도록 하는 이진수 = 1111 0101(0과 1의 교환만 이루어짐)

1111 1111에 1을 더하면 1 0000 0000, 8비트로 표현된 숫자이므로 앞의 1은 날아가고 0000 0000이 됨 (0)

 

즉, 1111 0101 + 1 = 1111 0110은 10의 보수인 -10

 

이진법으로 표현된 수를 10진법으로 읽을땐 다시 1을 빼고 1과 0을 교환해주고 음수 부호를 붙여주면 된다.

 

15의 보수

 

0000 0000 0000 1111

 

1111 1111 1111 0000 +1 = 1111 1111 1111 0001 ( -15 )

 

-15의 보수

 

0000 0000 0000 1111