부호없는 10진수 | 2진수 | 부호있는 10진수 |
---|---|---|
. . . | . . . | . . . |
7 | 0111 | 7←최대값 (오버플로우 발생) |
8 | 1000 | -8←최소값 (오버플로우 발생) |
9 | 1001 | -7 |
10 | 1010 | -6 |
11 | 1011 | -5 |
12 | 1100 | -4 |
13 | 1101 | -3 |
14 | 1110 | -2 |
(오버플로우 발생) 최대값→15 | 1111 | -1 |
(오버플로우 발생) 최소값→0 | 0000 | 0 |
. . . | . . . | . . . |
ex
15(최대값) + 1 = 0(최소값)
0(최소값) - 1 = 15(최대값)
7(최대값) + 1 = -8(최소값)
-8(최소값) -1 = 7(최대값)
숫자를 문자로 변환 - 숫자에 '0'
을 더함
(char)(3+'0') → '3'
문자를 숫자로 변환 - 문자에서 '0'
을 뺌
'3' - '0' → 3
숫자를 문자열로 변환 - 숫자에 빈 문자열("")
을 더함
3 + "" → "3"
문자열을 숫자로 변환 - integer.parseInt()
또는 Double.parseDouble()
을 사용
Integer.parseInt("3") → 3
Double.parseDouble("3.14") → 3.14
문자열을 문자로 변환 - charAt(0)을 사용
"3".charAt(0) → '3'
문자를 문자열로 변환 - 빈 문자열("")을 더함
'3' + "" → "3"