java查最最大值最小值代码和最小值,代码正确,为什么最小值一直是零

* 创建指定个数指定最小值,最夶值最小值代码的随机数 * 创建一个不重复的随机数 * 创建一个在范围内的随机数

就是二进制定点表示法即最高位为符号位:“0”表示正,“1”表示负其余位表示数值的大小。

该数字不进行其他操作时数字最原始的二进制表示 对于原码来说,绝對值相等的正数和负数只有符号位不同

正数的反码与其原码相同;

负数的反码是对其原码逐位取反,但符号位除外(只需要将原码除苻号位以外的位数取反,即0改为11改为0)

正数的补码与其原码相同;

负数的补码是在其反码的末位加1。

有人会有疑惑为什么要用反码补碼,不直接用原码呢
先搞清楚一点反码、补码、原码是针对二进制数而言,计算机若用原码相加减正数加正数不会出错,然而正数和負数原码相加就会出错说白了,补码、反码就是为了简化减法而来的,将减号化为负数后再将负数化为补码求加法,就跟正数没关系了!
不管是正整数还是正小数,原码,反码,补码都全部相同计算机中所有数都是以补码形式存储的。

各位看官能看明白不?

JAVA中用补码表示二进制數

正数原码由于最高位只能是0,因此最大值最小值代码为:0 111 1111即127。

负数原码由于最高位只能是1,因此最小值为:1 111 1111即-127,我擦那哪来嘚-128呢?

这里有个问题即0是属于正数呢,还是属于负数呢:+0表示为:,-0表示为:1000000

因为最高位是符号位不算在里面,所以就会有两个0所以从一开始发明二进制的时候,就把-0规定为-128如此二进制的补码就刚好在计算机中运作中吻合。(这里就是把最高位符号位既是符号位,又是最高位因此这里的1既代表是负数,又代表2^7次方)

2^8=256即能有256个数字,包括最高位是0和1的情况

最高位是1和0即正数和负数平分一下,就是正负各 128 个值

相当于-127到-0,0到127这样正负数各128个,

由于-0算成最小负数负数没有少,所以负数是128个

由于正数的0没有了正数少一个,所以正数是127个

我要回帖

更多关于 最大值最小值代码 的文章

 

随机推荐