怎样求16个二进制位可以储存的最大数是多少

 我来答
小白聊电子科技
高粉答主

2020-03-12 · 专注电子数码问题解答
小白聊电子科技
采纳数:775 获赞数:75433

向TA提问 私信TA
展开全部

16位二进制数最大可以表示65535。解决方法如下:

1、通过 Integer.toBinaryString 将一个数字转为二进制串,补齐前面缺失的0,通过 StringBuilder 的 reverse 方法将串颠倒反转,并通过 Integer.parseInt 方法将颠倒的串转为整型数值(二进制转换)。

2、因为 Integer.parseInt 方法只能转变正数的二进制串,对于负数的二进制串(1开头)会抛出异常,图示异常信息。

3、因为参数是32位整型数字,所以固定循环32次,先将结果数字向左移动1位,然后通过和1相与获取当前参数最后1位,并和结果数字异或运算,最后将参数数字向右移动1位。

4、主方法中指定一个数字,并调用二进制法进行二进制位反转,返回反转后的数字,并打印到控制台。

5、运行主方法,测试二进制移位法,图示,观察控制台输出结果。

woshidaniel
推荐于2018-05-15 · TA获得超过9240个赞
知道小有建树答主
回答量:1760
采纳率:96%
帮助的人:948万
展开全部
16位二进制数最大可以表示65535。所以16位二进制的最大表示法是1111111111111111
二进制换算成10进制计算方法:
从最低位(最右)算起,位上的数字乘以本位的权重,权重就是2的第几位的位数减一次方。比如第2位就是2的(2-1次)方,就是2;第4位就是2的(4-1)次方是8。然后把所有的值加起来。
所以换算成10进制就是
1*2^15+1*2^14+1*2^13+1*2^12+1*2^11+1*2^10+1*2^9+1*2^8+1*2^7+1*2^6+1*2^5+1*2^4+1*2^3+1*2^2+1*2^1+1*2^0=65535
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
松甜恬0Je4ba
2011-10-22 · TA获得超过2.6万个赞
知道大有可为答主
回答量:7475
采纳率:100%
帮助的人:3392万
展开全部
16个二进制能够存储的最大数,若第一位表示符号位
那最大的情况就是
0111 1111 1111 1111
若没有符号位
那就是
1111 1111 1111 1111.
一个二进制位最大是1,求最大数,就将每为都设置为1就可以了。
更多追问追答
追问
答案是99,可是我不知道怎么来的,请你跟我解释下好吗?谢谢。
追答
怎么会是这个数啊
1111 1111 1111 1111.
是65535
0111 1111 1111 1111
是32767

怎么算也不会是99 啊。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wyh31415926535
2018-07-11
知道答主
回答量:2
采纳率:0%
帮助的人:1892
展开全部
这句话前文的意思是采用ASCII编码符号来存储,其中数字0-9都有对应的ASCII码,每个符号一个字节,16个二进制位有两个字节,分别用来表示数字9,即最大为99。联系上下文,不要理解成二进制计数法!!!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
qq304161235
2011-10-22
知道答主
回答量:2
采纳率:0%
帮助的人:3350
展开全部
pow(16,2);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式