面试题,关于int类型转byte类型结果溢出
1 package com.atguigu.chapter03
2 /*
3 byte:-128~127
4 128 : Int类型,占4个字节,32位
5 计算机中的整型数据都以补码的形式存储,正数的补码是其本身,负数的补码除符号位外取反+1
6 负数补码求原码,符号位为1不变,其余取反+1
7 128原码:0000 0000 0000 0000 0000 0000 1000 0000
8 128补码:0000 0000 0000 0000 0000 0000 1000 0000
9
10 截取补码最后一个字节:Byte
11 得到结果的新补码:1000 0000 表示最大的负数为-128
12 所以128结果溢出得-128
13 那么可以推出:如果溢出为130,那么得到结果为-126
14 */
15 object Problem_DataTypeConversion {
16 def main(args: Array[String]): Unit = {
17 val n:Int =130
18 val b:Byte=n.toByte
19 println(b)
20 }
21 }
好看请赞,养成习惯:) 本文来自博客园,作者:靠谱杨, 转载请注明原文链接:https://www.cnblogs.com/rainbow-1/p/15750697.html
欢迎来我的51CTO博客主页踩一踩 我的51CTO博客
文章中的公众号名称可能有误,请统一搜索:靠谱杨的秘密基地