本案例用的是scala语言但是底层和思想和Java基本一样
注意:计算机底层是按补码的形式进行存储的
/** *
128: Int类型,占据4个字节,32位
原码0000 0000 0000 0000 0000 0000 1000 0000
补码0000 0800 0000 0000 0000 0000 1000 0000
截取最后一个字节,Byte
得到补码1000 0000
-128不能用原码或反码表示 ,反码只能表示0到127,-0到-127;
*/
val i2 :Int = 128
val b6 : Byte = i2.toByte
println(s"高到低类型转换b6 :${b6}")
/** *
130: Int类型,占据4个字节,32位
原码0000 0000 0000 0000 0000 0000 1000 0010
补码0000 0800 0000 0000 0000 0000 1000 0010
截取最后一个字节,Byte
得到补码1000 0010
对应原码1111 1110 取反加1 -126
*/
val i3 :Int = 130
val b7 : Byte = i2.toByte
println(s"高到低类型转换b6 :${b7}")