chapter02 3진법

byeol·2022년 6월 30일
0

Java의 정석

목록 보기
3/9

컴퓨터와 같은 전기회로는 2진법이 적합

비트와 바이트
1bit= 한 자리의 2진수 = 한칸
데이터의 기본 단위 = 1byte / / 1byte= 8 bit
CPU가 한 번에 처리할 수 있는 데이터 크기 = Word (CPU성능에 따라 달라지는 단위)

n비트=>2ⁿ개 표현 => 범위: 0~2ⁿ-1
 등비수열의 합의 공식에 따라 최소 0~2ⁿ-1까지의 범위를 갖는다.

  • 3.3 8진법과 16진법

    8진법은 0~7까지가 한단위 => 2진법에서는 3자리
    16진법은 0~15까지가 한단위 => 2진법에서는 4자리씩 끊어서
    참고로 16진법은 10에서 15까지 차례대로 A~F까지

  • 3.4 정수의 진법 변화

    10진수를 n진수로 변환 => n으로 나누고 나머지들을 거꾸로 타고 올라가기
    n진수를 10진수
    => 각 자리를 차례대로 첫번째 자리 숫자xn⁰+두번째 자리 숫자xn¹+...

  • 3.5 실수의 진법 변환

    10진 소수를 2진수로 바꾸는 법
    ex) 0.625X2 = 1.25
    0.25X2 = 0.5
    0.5X2=1.0 <<더이상 소수점이 없으므로 종료>>
    ==>0.101

  • 3.6 음수의 2진 표현 - 2의 보수법

    x2진수부호없는 10진수설명
    1000000으로 시작 절반
    200011->앞 0이 양의 부호의 칸
    300102
    400113
    501004
    601015
    701106
    801117
    9100081으로 시작 절반
    1010019->앞 1이 음의 부호의 칸
    11101010
    12101111
    13110012
    14110113
    15111014
    16111115
    x2진수부호없는 10진수설명
    100000양수
    200011
    300102
    400113
    501004
    601015
    701106
    801117
    91000-01. 2진수 증가하면
    101001-110진수 감소
    111010-22. -0이 존재
    121011-33. 양수+음수=Not 0
    131100-4
    141101-5
    151110-6
    161111-7
    x2진수부호없는 10진수설명
    100000양수
    200011
    300102
    400113
    501004
    601015
    701106
    801117
    91000-8음수
    101001-7
    111010-6
    121011-5
    131100-4
    141101-3
    151110-2
    161111-1
  • 10의 보수 : N의 보수란 더해서 N이 되는
    3이 되는 10에 대한 보수는 7이다.

  • 1의 보수 (ones complement= 1 의 보수) :
    더해서 1111..(2)=2^n-1
    ex) 1001의 1의 보수는 0110이다.

  • 2의 보수 (two's complement) 더해서 자리올림이 발생하는
    즉 더해서 2^n이 되는
    ex) 1001의 2의 보수는 0111이다.
    즉 더해서 (2^n-1이 되는 1의 보수)+1= 2^n
    따라서 이 2의 보수는 어떤 양수에 대한 음수의 2진수를 구하는 방법이라고 기억해두자

profile
꾸준하게 Ready, Set, Go!

0개의 댓글