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

二进制基础

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

已采纳回答 / 黑山头山大王
就是直接对整数在内存中的二进制位进行操作。比如,and运算本来是一个逻辑运算符,但整数与整数之间也可以进行and运算。举个例子,6的二进制是110,11的二进制是1011,那么6 and 11的结果就是2,它是二进制对应位进行逻辑运算的结果(0表示False,1表示True,空位都当0处理)。

已采纳回答 / 黑山头山大王
从最低位(最右)算起,位上的数字乘以本位的权重,权重就是2的第几位的位数减一次方。比如第2位就是2的(2-1次)方,就是2;第8位就是2的(8-1)次方是128。把所有的值加起来。2(1-1)代表2的0次方,就是1;其他类推比如二进制1101,换算成十进制就是:1*2(1-1)+0*2(2-1)+1*2(3-1)+1*2(4-1)=1+0+4+8=13

已采纳回答 / 黑山头山大王
       德国著名的数学家和哲学家莱布尼兹,对帕斯卡的加法机很感兴趣。于是,莱布尼兹也开始了对计算机的研究。  莱布尼兹也是第一个认识到二进制记数法重要性的人,并系统地提出了二进制数的运算法则。二进制对200多年后计算机的发展产生了深远的影响。他于1716年发表了《论中国的哲学》一文,专门讨论八卦与二进制,指出二进制与八卦有共同之处。  1672年1月,莱布尼兹搞出了一个木制的机器模型,向英国皇家学会会员们做了演示。但这个模型只能说明原理,不能正常运行。此后,为了加快研制计算机的进程,莱布尼兹在巴黎定...

最新回答 / 慕勒7123956
只要你把那个num跟前面传入的形参对应就行

已采纳回答 / SkyFreecss
      看来这位童鞋是强迫症犯了。。。你只需要记住相对于二进制数而言的,左移一位,相当于最后一位加一个零,即将数扩大2^1倍,左移n位,即加n个零,扩大2^n次方,然而这仅限于无符号数的运算,有符号数就要考虑高位溢出了。乘法运算是一步一步乘(移位)出来的,每次取乘数的一位与被乘数操作,1则把被乘数照写,0则为0,然后乘数右移。这样循环,最后把每一步结果加起来。所以左移位比乘法效率要高(具体参见<<计算机组成原理>>),你可以在java上写个小程序看看两者的运算时间。

已采纳回答 / 惟喥嫚朩
以8位二进制为例演示,-1转化成二进制的过程:① 先求-1的相反数得到1② 1的8位二进制原码为 0000 0001③ 1的8位二进制反码为 1111 1110     (原码1变0,0变1就可以得到反码)④ 1的8位二进制补码为 1111 1111     (反码加1就可以得到补码)⑤-1的8位二进制1111 1111                (就是1的补码)简单的讲就是 负数相反数的原码取反+1     

最赞回答 / qq_东林星石_03802638
无符号和有符号是两种数据了,有符号的11001111  第一位是符号位,为1则表示负数,为0表示正数。要知道有符号的11001111的十进制数,可以这样来:第一步,11001111 - 1 = 11001110第二步,按位取反            00110001第三步,00110001这个数就是它的正数二进制表示了,49。所以原来的负数就是-49

最新回答 / 心有猛虎_细嗅蔷薇
试着重写一遍 说不定问题出在书写中的小细节上

最新回答 / Crown_鄭賓
要先转换为二进制数  才能进行运算

最新回答 / 蝶梦疏妄
二进制里面的1和0代表的不就是真和假,而所有东西不是不是真就是假的么

最赞回答 / 旧城以东qq
我发现了 11001111 = -49或者207  如果bs[0]中存的是11001111,直接 (int)bs[0]则结果为-49;如果bs[0]&0xff则结果为207,这是为什么 求问?????

最新回答 / A未来战士N
如果是-8143,为什么这四个字节的整数相加可以得到-8143,不是应该先减1,得反码,再取反的原码,这样算吗?

最新回答 / XhstormR
老师这个操作是多余的,只要转byte就行了。

已采纳回答 / lululululuming331052
8143 二进制表示为 1111111001111,8143>>0*8中0*8的优先级更高,所以这就是对8143右移0位,之后的与运算,结果就是11001111,如果11001111作为无符号数就是207,如果作为有符号数,11001111第一个1,就是表示为负号,根据负数的表示方式 负数为绝对值的补码,11001111转换为原码,先加1,得到11010000,然后取反00101111=49,所以就是-49

已采纳回答 / hjh2015
hhhh,这都听出来了啊,我没听到欸
课程须知
小伙伴们注意啦!~本门课程前三章的内容可以零基础学习。第四、五章的内容在学习前需要了解Java的基础知识。
老师告诉你能学到什么?
通过课程的学习,您可以了解二进制的由来,掌握二进制和其他进制之间进行进制转换的方法,掌握如何进行位运算,为所有计算机课程的学习提供基础。

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消