为了账号安全,请及时绑定邮箱和手机立即绑定

JAVA中的进制转换

为什么输出的是数组B,为什么数组序列是从低端开始排,

这里为什么是0乘以8&oxff?看不懂

正在回答

3 回答

大哥 一个字节只有8个比特位, 你给个int型的数去转换 int是32位 转换后肯定就是4个字节,你要表示这4个字节,肯定只能使用数组来装啊!不然你怎么表示

至于大小端法,我不懂 帮你百度了下 大概意思就是 IMB等大型公司的大型机 使用的是大端法,intel等pc机用的都是小端法,随便说一下 虽然我不懂这个 ....但貌似这不是你我该关心内容........还是先把基础学好吧....


0 回复 有任何疑惑可以回复我~
#1

慕斯卡4106679 提问者

谢谢你。 1、数组是个盒子,转化后4个字节,用来装这4个字节。 2、11001111是转成10进制,再放进数组中,为什么是转化成10进制,不转化成16进制等其他进制呢? 还有这两个疑问
2015-10-30 回复 有任何疑惑可以回复我~

8143>>n*8   是将需要计算的比特位移到最低位来方便 后面的运算

然后&0xff 也就是&上11111111  实际就是取这个数的最低的8个比特位  

00000000 00000000 00011111 11001111>>0*8之后还是00000000 00000000 00011111 11001111

然后&0xff 就取到了这个数的低八位  就是11001111  然后换算成十进制就是207  

后面就类推了

0 回复 有任何疑惑可以回复我~
#1

慕斯卡4106679 提问者

为什么输出的是数组B,为什么数组序列是从低端开始排 第二个低端字节是右移1*8位,也就是8位,怎么还是原来的数值?
2015-10-29 回复 有任何疑惑可以回复我~
#2

天启之魂 回复 慕斯卡4106679 提问者

数组存的时候 是按照角标开始存的,你最先获取的是最低位,然后存到数组中自然就是最前面的, 第二个低端字节是右移1*8位 就变成了00000000 00000000 00000000 00011111 然后&x0ff 就是 获取他的低八位,换换成十进制就是31 有什么问题吗??? 什么叫还是原来的值? 至于为什么是数组b,我没看课程 不知道里面具体什么代码 就不说了
2015-10-29 回复 有任何疑惑可以回复我~
#3

慕斯卡4106679 提问者 回复 天启之魂

又移8位是为了获取第二段字节 还有问题,为什么数据类型转化成字节是变成数组呢? 什么情况用小端法,什么时候用大端法
2015-10-29 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
二进制基础
  • 参与学习       99871    人
  • 解答问题       210    个

二进制是计算机唯一能识别的语言,是学习计算机技术必备的知识

进入课程

JAVA中的进制转换

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信