본문 바로가기

Study/Kotlin Study

[Kotlin] 부호 없는 정수

+ 항공대학교 김철기 교수님의 객체 지향 프로그래밍 과목 내용를 정리한 글입니다.

부호 없는 정수 타입

자바에는 없는 부호 없는 정수 타입이 다시 생겼다.

 

타입 크기 (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