Backend/JAVA / / 2021. 8. 23. 23:00

음수, 실수 진법 변환 - java

4bit == nibble

1byte = 8bit

4byte == word

10 -> 0000 0000 0000 0000 0000 0000 0000 1010

'A' -> 코드표(ASCII) 정수값 65 -> 0000 0000 0100 0001

 

1.음수의 2진 표현 (현재는 2의 보수법 사용중)

1) 부호와 절대치 : 현재는 사용하고 있지 않음

 |-10| -> 10

 -10 -> 1000 1010

         첫번째 부호비트

         양수라면 0을 채워넣고

         음수라면 1을 채워 넣고

 

1000 0000 -> -0

0000 0000 -> +0

위와 같은 문제로 부호와 절대치는 사용하지 않음

 

2) 1의 보수법

 -10 -> 1111 0110

 ㄱ. 절대값을 구한다. |-10| == 10

 ㄴ. 2진수로 나타낸다. 0000 1010

 ㄷ. 보수를 취한다. 1111 0101

 

3) 2의 보수법 (현재 사용중)

 - 10 -> 1111 0110

 ㄱ. 절대값을 구한다. |-10| == 10

 ㄴ. 2진수로 나타낸다. 0000 1010

 ㄷ. 보수를 취한다. 1111 0101

 ㄹ. 1을 더한다. 1111 0110

 

예) -13을 2의 보수법 처리

 ㄱ. |-13| -> 13

 ㄴ. 2진수 : 0000 1101

 ㄷ. 보수 : 1111 0010

 ㄹ.1을 더한다 : 1111 0011

 

예) 역으로 -?? 1011 1011 -> 1011 1010 -> 0100 0101
ㄹ. 1011 1010
ㄷ. 0100 0101
ㄴ.  64 + 4 + 1 = 69
ㄱ. -69

 

2. 실수의 진법 변환

10진수 소수점수 -> 2진 소수점수 변환

0.625 * 2 = 1.25  --> 1 (앞의 1을 빼놓는다.)

0.25 * 2 = 0.5     --> 0 (앞의 0을 빼놓는다.)

0.5 * 2  = 1.0      --> 1 (앞의 1을 빼놓는다.), 위에서 아래로 읽는다.

 

0.625(10) -> 0.101(2)

 

실수를 나타내는 자료형 : float(4), double(8)
3.141592(10)
float [][][][] [][][][] [][][][] [][][][] [][][][] [][][][] [][][][] [][][][]
double [][][][] [][][][] [][][][] [][][][] [][][][] [][][][] [][][][] [][][][]
          [][][][] [][][][] [][][][] [][][][] [][][][] [][][][] [][][][] [][][][]

반응형

'Backend > JAVA' 카테고리의 다른 글

실수의 저장형식 - java  (0) 2021.08.23
정수형의 오버플로우 - java  (0) 2021.08.23
210819 java 수업 - day2  (0) 2021.08.19
'\n' 사용법과 출력 서식 - java  (0) 2021.08.19
두 변수의 값을 교환하기 - java  (0) 2021.08.19
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유