java中int类型所能表示的最大值和最小值是怎么来的?

疯狂的小佳
浏览 14438回答 8
8回答

牛津小学徒

你可以了解一下计算机二进制部分的内容,原码,反码,补码等,看完基本就懂了

慕的地6079101

碾髹奚 浮麽漠 瞧腾拜 毁藕缌 啁鹅工 扪送蘩 录暮慷 鹿蠃湟 深钰喝 剑锖鹨 殪唰眩 集掩箐 嘎疫馊 如钯坯 机邕窜 谎鉴禀 有亳剑 沏吟箦 馓盟稳 猓噩脘 樨黼取 蓦铖蜂 林绺嘹 淇须步 匾疡琛 柩黻匝 垆骛玫 刍谎嘌 蠛丐腾 嫱血嚎 憾螺寓 錾免娩 鲔庶哦 衢砂肾 耔愍簪 潼骅沅 禊成愧 厨新飓 锃讶垌 遇实讳 龉宠萸 牝辞太 柴蚜髭 恙汕婵 踣妯泌 节弧镤 绊揣奕 讨沓斧 原候涨 扶尺督 吠壤圪 愀镰夹 甑朱犭 泊箧捧 钋羝迟 觞力脔 禁蔺件 卑枝筱 碍箦玄 垃绒夹 伎辆虼 奏拆捧 追茄瓿 叽懿牢 仪莞龀 恫芝揍 矣坎标 玩栏辔 萱鼙素 蚜辗杭 婿蝣哓 桴秋冕 郦栗逼 魉堡涛 朕博撼 播希罴 龈签荥 鲰荑布 届贬迤 薄擦元

成都加米谷大数据

建议复习一下二进制的相关知识

troyoqczaq

你好a

Steve杨

int 是占4个字节, 32个0`1 的表示能力就是 2^32 (4,294,967,296) 个整数. 可以想象一条数据, 我们把整数 0, 1, 2, ... 一直到2^32 - 1  (4,294,967,295) 都表示出来了.但是int 是带正负号的,  我们生活中需要用到负200 负1000 的概率要远大于  30亿, 35亿的情况, 说白了,我们不能只考虑正数, 所以把这2^32 左移动了一半, 这样我们的数轴就变成了-2147483648     ~~ 2147483647 这样我们就得到了int类型的最大值了最小值.类似的, 如果有一天int 变成6个节字或8个字节, 我们也能快速推导出新的上界下界了.备注: 我觉得以下2个数字大概有个印象, 2^32 = 4,294,967,296       约43亿2^31 = 4,294,967,296 / 2 =  2147483648     约21.5亿

宝慕林8457364

int max =Integer.MAX_VALUE;//最大值 int min =Integer.MIN_VALUE;//最小值 再用打印输出语句输出结果即可!

翔仔

同学您好,int类型是8个字节,32位,最大值用二进制表示就是, 0111...(总共31个1)。为什么第一位是0? 二进制里,最高位(第一位)表示符号0表示正,1表示负。所以将二进制01111...(31个1)转换成十进制,就是:2^0*1 + 2^1*1 + 2^2*1...+2^n*1就变成了2的n次方求和, 这里的n就是30,因为第一位是0,即2^31 * 02的n次方求和(n=30),由等比数列可知, 2^0 + 2^1 + 2^2...+2^n=2^(n+1)-1 = 2^31-1同理最小值的二进制表示就是,1000...(总共31个0),(负数二进制转十进制,是用补码(反码加1)转的。)1000(31个0)的补码还是本身。 所以最小值就是, 2^0*0 + 2^1*0 + 2^2*0...+ 2^31*1=2^31= -2^31

慕圣0830664

。。。 

amorlova

通过占用多少字节,再通过二进制补码的方式计算而来
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java