怎样求16个二进制位可以储存的最大数是多少
5个回答
展开全部
16位二进制数最大可以表示65535。解决方法如下:
1、通过 Integer.toBinaryString 将一个数字转为二进制串,补齐前面缺失的0,通过 StringBuilder 的 reverse 方法将串颠倒反转,并通过 Integer.parseInt 方法将颠倒的串转为整型数值(二进制转换)。
2、因为 Integer.parseInt 方法只能转变正数的二进制串,对于负数的二进制串(1开头)会抛出异常,图示异常信息。
3、因为参数是32位整型数字,所以固定循环32次,先将结果数字向左移动1位,然后通过和1相与获取当前参数最后1位,并和结果数字异或运算,最后将参数数字向右移动1位。
4、主方法中指定一个数字,并调用二进制法进行二进制位反转,返回反转后的数字,并打印到控制台。
5、运行主方法,测试二进制移位法,图示,观察控制台输出结果。
展开全部
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
二进制换算成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
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
16个二进制能够存储的最大数,若第一位表示符号位
那最大的情况就是
0111 1111 1111 1111
若没有符号位
那就是
1111 1111 1111 1111.
一个二进制位最大是1,求最大数,就将每为都设置为1就可以了。
那最大的情况就是
0111 1111 1111 1111
若没有符号位
那就是
1111 1111 1111 1111.
一个二进制位最大是1,求最大数,就将每为都设置为1就可以了。
更多追问追答
追问
答案是99,可是我不知道怎么来的,请你跟我解释下好吗?谢谢。
追答
怎么会是这个数啊
1111 1111 1111 1111.
是65535
0111 1111 1111 1111
是32767
怎么算也不会是99 啊。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这句话前文的意思是采用ASCII编码符号来存储,其中数字0-9都有对应的ASCII码,每个符号一个字节,16个二进制位有两个字节,分别用来表示数字9,即最大为99。联系上下文,不要理解成二进制计数法!!!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询