Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么显式缩小变量不会在kotlin中产生错误_Kotlin - Fatal编程技术网

为什么显式缩小变量不会在kotlin中产生错误

为什么显式缩小变量不会在kotlin中产生错误,kotlin,Kotlin,我有一个变量a,它的类型是Int,当我把它转换成Byte时,它只是用相应类型的min和max值循环 fun main(){ var a : Int = -130 println("hello kotlin ${a.toByte()}") } output :- hello kotlin 126 这将给出一个错误的值。那么,为什么kotlin没有给出错误呢?Int.toByte的行为是: 对于-130十六进制值ffffff 7E的Int值,它是126十六进制值7

我有一个变量a,它的类型是Int,当我把它转换成Byte时,它只是用相应类型的min和max值循环

fun main(){
   var a : Int = -130
   println("hello kotlin ${a.toByte()}")
}

output :-
hello kotlin 126
这将给出一个错误的值。那么,为什么kotlin没有给出错误呢?

Int.toByte的行为是:

对于-130十六进制值ffffff 7E的Int值,它是126十六进制值7E。

Int.toByte的行为是:


对于-130十六进制值FFFFFF7E的Int值,它是126十六进制值7E。

该文档在哪里?我添加了一个链接,指向我的答案单击documented@VikasAcharya注意这与Java是一致的:字节b=byte-130将为您提供b==126。事实上,如果这就是在JVM上运行时所使用的代码,我也不会感到惊讶。那个文档在哪里?我添加了一个链接,指向我的答案单击documented@VikasAcharya注意这与Java是一致的:字节b=byte-130将为您提供b==126。事实上,如果这就是在JVM上运行时所使用的代码(即强制转换),我也不会感到惊讶。
The resulting Byte value is represented by the least significant 8 bits of this Int value.