진수와 음수

namin0_0·2023년 5월 29일
0

컴퓨터는 2진수를 사용한다.

2진수는 0과 1만 사용하여 표현하는 것

따라서 문자와 숫자 모두 2진수로 표현된다.

2진수로 표현하면 길이가 길어지기 때문에

8진수나 16진수를 사용하기도 한다.

10진수 - 16진수

...

9 - 9

10 - A

11 - B

12 - C

13 - D

14 - E

15 - F

16 - 10

프로그램에서 숫자를 나타낼 때

0B로 시작하면 2진수

0으로 시작하면 8진수

0X로 시작하면 16진수


이클립스에서 각 진수로 10 출력하기

컴퓨터에서 32bit 사용시

가장 앞에 붙은 숫자를 MSB라고 한다.(must signatuer bit가장 중요한 비트) = MSB는 부호비트임

음수를 만드는 방법은 2의 보수를 취하는 것이다

ex)

00000101 = 5

그렇다면 제일 앞에 1을 붙인

10000101은 5의 음수인가?

00000101

+10000101


=10001010

이기 때문에 음수가 아니다!

더했을 때 전부 0이 나와야 음수다.

(오른쪽부터 9번째 숫자(제일 앞자리)는 제외되기 때문에 100000000 = 가장 앞자리 빼고 8자리 숫자가 모두 0인 경우가 음수다)

= 2의 보수가 음수다

먼저 해당 숫자의 1의 보수를 만든다

00000101

11111010 (1의보수)


11111111 (더했을 때 전부 1이 나옴)

  1. 1의보수에 1을 더하기

(제일 앞자리 제외 8자리가 모두 0이 나오는것 확인하기)

11111111

                1

100000000

  1. 1의 보수에 1을 더한다.(2의 보수 만드는 과정)

11111010

              1

11111011

  1. 2의 보수는 11111011 이다.

음수는 11111011 이다.

= 해당 숫자의 음수를 반드는 방법은 1의 보수에 1을 더하는것이다.

profile
갓생살기프로젝트

0개의 댓글