JAVA/자바 기본 프로그래밍

음의 정수를 표현하는 방법

ready J 2020. 9. 1. 16:50

■■■음의정수표현■■■

①. -10을 byte 기반 비트열로 나타낸다.

ㄱ. 0 0001010 → 10을 byte기반으로 나타냄
ㄴ. 1 1110101 → 1의 보수를 취한다
ㄷ. 1 1110101 + 00000001 → 2의 보수를 취한다

   1 1110101
   0 0000001 +
--------------
   11110110 

ㄹ. byte 기반으로 나타낸 10과 -10을 합하여 합이 0이 맞는지 확인

    1 1110110
    0 0001010 +
---------------
  1 0 0000000 


※ 11110110

②. -27을 byte 기반 비트열로 나타낸다.

ㄱ. 0 0011011 → 27을 byte기반으로 나타냄
ㄴ. 1 1100100 → 1의 보수를 취한다
ㄷ. 1 1100100 + 0 0000001 → 2의 보수를 취한다
    
    1 1100100
    0 0000001 +
-----------------
    1 1100101

ㄹ. byte 기반으로 나타낸 27과 -27을 합하여 합이 0이 맞는지 확인
   
    0 0011011
    1 1100101  +
  -----------------
  1 0 0000000

※ 1 1100101

③. -31을 byte 기반 비트열로 나타낸다.

ㄱ. 0 0011111
ㄴ. 1 1100000
ㄷ. 1 1100001

※ 1 1100001

④. -13을 byte 기반 비트열로 나타낸다.

ㄱ. 0 0001101
ㄴ. 1 1110010
ㄷ. 1 1110011

※ 1 1110011

⑤. byte 기반의 11001010을 10진수 정수형으로 나타낸다.

ㄱ. 2의 보수가 취해진 11001010에서 1을 뺀다.
    1 1001010
    0 0000001 -
-------------------
    1 1001001

ㄴ. 1의 보수를 취한다.
    0 0110110

ㄷ. 10진수로 변환후 -부호를 붙인다.
※ -54


⑥. byte 기반의 11110101을 10진수 정수형으로 나타낸다.

ㄱ.1 1110101 - 0 0000001 = 1 1110100
ㄴ.0 0001011
ㄷ. -11
※ -11

⑦. byte 기반의 10000001을 10진수 정수형으로 나타낸다.

ㄱ.1 0000001 - 0 0000001 = 1 0000000
ㄴ.0 1111111
ㄷ.-127
※ -127

⑧. byte 기반의 10101010을 10진수 정수형으로 나타낸다.

ㄱ. 1 0101010 - 0 0000001 = 1 0101001
ㄴ. 0 1010110
ㄷ. -86
※ -86

⑨. byte 기반의 10000101을 10진수 정수형으로 나타낸다.

ㄱ. 1 0000101 - 0 0000001 = 1 0000100
ㄴ. 0 1111011
ㄷ. -123
※ -123

⑩.byte 기반의 11111111을 10진수 정수형으로 나타낸다.

ㄱ. 1 1111111 - 0 0000001 = 1 1111110
ㄴ. 0 0000001
ㄷ. -1
※ -1