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

二进制基础

难度入门
时长50分
学习人数
综合评分9.03
614人评价 查看评价
9.4 内容实用
8.9 简洁易懂
8.8 逻辑清晰
不太...
说实话讲的真不咋地
f在16进制中表示15,用二进制表示即为1111,0xff即为11111111
id>>0*8就是不变动,再和0xff按位与,就是取得后8位
id>>1*8就是右移8位,再和0xff按位与,实际就是取得9~16位的数字
其余的以此类推,仔细想想其实不难,但是没做解释一时间还是反应不过来其中的含义
我以为二进制应该很简单的,然而没听懂。我觉得一些基础都没讲。什么高端,低端,没搞懂。
其中负数以其正值的补码形式表示(2/2)中分析的第二步补码取反得到原码应该不是这样写的吧 应该是反码取反得到原码,11001000是补码,11000111是反码,00111000是原码,是该负数的正值

最新回答 / Q盛
十进制转换成二进制 就是把某个十进制的数不断的除以2 余数放一边 最后结果从下往上看就是转换后的二进制
其实还是很形象,听起来比较好理解,为老师点个赞
说好的基础呢?

最新回答 / 汉江怪人
就是转化为二进制,然后通过&0xff运算获得一位的数据
1.25倍速看着更舒服点...
唉,java坚持到现在,估计得去做前端了。暂时搁置这个路线了。这个笔记也没写完整。。。

最新回答 / 桥米
你的类名字是convert吗?老师的类名是convert,而且是静态方法,所以直接用类名.方法名调用方法
这样在将数组arr[]中的字节数值转换为int型
1、arr[0]中存入的是字节 (arr[0] & 0xff) << 0*8 即 11001111
2、再强制转换为int型数值 其实计算结果就是(11001111)=206;
3、然后就是rs0+rs1+rs2+rs3=8143;
在int型转换为字节中
1、定义的int型数id的字节型数值按四字节算(每个字节有8位)
2、用和0xff相与的方法得到后八位(低字节) 即(id>>0*8) & 0xff 此时得到的是11001111 在将它转换成相应的10进制数-49 再将这个10进制数强制转换(byte)为字节数存到arr[]数组中 即arr[0] = (byte) ((int)(id >> 0*8) & 0xff)
口音不太清楚啊听起来费力
课程须知
小伙伴们注意啦!~本门课程前三章的内容可以零基础学习。第四、五章的内容在学习前需要了解Java的基础知识。
老师告诉你能学到什么?
通过课程的学习,您可以了解二进制的由来,掌握二进制和其他进制之间进行进制转换的方法,掌握如何进行位运算,为所有计算机课程的学习提供基础。

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消