Java byte(short)溢出,口算方法
Posted 暴疯禹
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java byte(short)溢出,口算方法相关的知识,希望对你有一定的参考价值。
Java--byte(short)溢出快速计算(口算) 以byte为例: byte的范围(-128-127) 如果byte b=(byte)128; 这个等于什么呢?——>-128; byte b=(byte)-129; 这个等于什么呢?——>127;细心的你就会发现: (......127)(-128,-127......127)(-128,-127.....) 其实就是个循环。
以-233为例: <-----------------------------------256个数-------------------------------------->
byte值: 0----------------23-----------------(126),(127),-128-------------------0 int值: 0--------------(-233)--------------(-130),(-129),-128-------------------0 所以: 当强转的数值x的绝对值在256以内而且溢出时:
(byte)x= (符号相反)256-|x|
当数值X的绝对值大于256时把x转换到256以内。(x±256*n)然后使用上边的算法。 例: (byte)200=-(256-200)=-56;
(byte)-233=256-233=23;
(byte)512 =(byte)(256*2+0)=(byte)0=0; (byte)-770=(byte)-(256*3+2)=(byte)-2=-2;
以上是关于Java byte(short)溢出,口算方法的主要内容,如果未能解决你的问题,请参考以下文章