+ 항공대학교 김철기 교수님의 객체 지향 프로그래밍 과목 내용를 정리한 글입니다.
부호 없는 정수 타입
자바에는 없는 부호 없는 정수 타입이 다시 생겼다.
타입 | 크기 (Byte) | 범위 |
UByte | 1 | 0 ~ 255 |
UShort | 2 | 0 ~ 65535 |
UInt | 4 | 0 ~ 2^32 - 1 |
ULong | 8 | 0 ~ 2^64 - 1 |
fun main() {
val ubyte: UByte = 1u
val ushort: UShort = 1u
val uint: UInt = 1u
val ulong: ULong = 1u
val ulong2 = 1uL // L 접미사로 ULong으로 추론
}
부호 있는 타입과 없는 타입간의 타입 변환
부호 있는 타입과 없는 타입은 서로 연산이 불가하다.
fun main() {
println(1 + 2u) // Error
}
< 타입 변환 후 연산 >
fun main() {
println(1 + 2u.toInt())
println(1.toUInt() + 2u)
}
< 음수를 부호 없는 타입으로 변환한 경우 >
- 2의보수 표현법으로 나타낸 bit를 부호 없는 정수 표현법 bit로 나타낸다.
fun main() {
val u: UInt = 2u
val s: Long = -3
println(u + s.toUInt()) // 4294967295
}
'Study > Kotlin Study' 카테고리의 다른 글
[Kotlin] 컬렉션 타입 (0) | 2023.11.20 |
---|---|
[Kotlin] 봉인된 클래스 (1) | 2023.11.14 |
[Kotlin] data 클래스 (0) | 2023.11.14 |
[Kotlin] enum 클래스 (1) | 2023.11.13 |
[Kotlin] 인터페이스 (3) | 2023.11.02 |