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

二进制基础

难度入门
时长50分
学习人数
综合评分9.03
614人评价 查看评价
9.4 内容实用
8.9 简洁易懂
8.8 逻辑清晰

已采纳回答 / qq_Scorpio苏_03634471
https://blog.csdn.net/leonwang_fly/article/details/47422235

已采纳回答 / 慕运维5215424
long类型的数不是有值域范围嘛,你这个明显超出范围了啊

已采纳回答 / 杯酒慰风尘_如是很多年
&跟&&都可以进行与运算,只不过&是位运算,&&是逻辑运算。而且&&具有“短路”的特性,即当&&左边判断为false是就不再对右边的表达式进行运算。

已采纳回答 / 慕粉3388790
00000000 00000000 00011111 11001111>>8=  00000000 00000000 00000000 00011111& 00000000 00000000 00000000 11111111= 00000000 00000000 00000000 00011111

已采纳回答 / jisu_che
0xff就是八个1的二进制数,arr[i]是一个byte型整数,把其左移到相应的高位,再强制转换为interesting类型,并累加到result中

已采纳回答 / Hinstro
A=A^B;B=A^B=(A^B)^B=A^(B^B)=A^0=A;A=A^B=(A^B)^A=(A^A)^B=0^B=B;∵一个数“异或”本身时等于0

已采纳回答 / 诸葛云飞
在本节中11001111是存放在字节byte中的,字节是8位,java中最高位表示符号位,所以byte的取值范围是-2^7~2^7-1,即1000 0000~0111 1111,十进制是-128~127.11001111(看作无符号十进制是207),这是补码,原码为00110001(看作无符号十进制是49),如果你把这个想象为无符号的(十进制也要想象为无符号,即-49为49),那相加为1 0000 0000即2^8=256,即所有的负值的byte的补码和源码想象为无符号的话之和为256

已采纳回答 / Kian_
在计算机中数都是以二进制存在的,你也说了2的二进制为10,其实前面省略了,在java中int型占4个字节,32位,所以2的二进制位 0000 0000 0000 0000 0000 0000 0000 0010 老师讲的时候其实是把前面的0省略了, 这样你再左移,能力有限,只能跟你这样解释 ~.~

已采纳回答 / 慕粉2137351520
转化为数组时已经定义的是8位的数组,应该是没问题的。问题在result定义的是整形,而赋值语句是长整形,这个地方会报错

最新回答 / 慕少7573967
计算机能算出来,但你人按你这种方式算不出来啊,所以要用人为的方法进行计算啊

已采纳回答 / enthusiastic
可以不加int,我没加代码运行也没问题,但是与操作不能少,另外byte强制类型转换也不能少。因为id是int类型,从范围大的类型到范围小的类型需要强制类型转换。arr[0]=(byte)((id>>0*8)&0xff);

已采纳回答 / 遇见花开遇见你啊
不可以,因为要把高位置零,如果不加& 0xff,高位的数还存在

已采纳回答 / 慕数据2664178
右下角设置播放器为HTML 望采纳!

已采纳回答 / qq_浮梦壹生_03287462
这些算法什么的了解即可,二进制是计算机能辨识的语言,现在的java语言、c语言都要先编译成这样计算机能听得懂的语言的。
首页上一页123456下一页尾页
课程须知
小伙伴们注意啦!~本门课程前三章的内容可以零基础学习。第四、五章的内容在学习前需要了解Java的基础知识。
老师告诉你能学到什么?
通过课程的学习,您可以了解二进制的由来,掌握二进制和其他进制之间进行进制转换的方法,掌握如何进行位运算,为所有计算机课程的学习提供基础。

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消