jaggle

两个等于 1 的位不重叠的二进制数,|按位或和相加+,结果相等

  •  
  •   jaggle · Jun 5, 2022 · 2561 views
    This topic created in 1619 days ago, the information mentioned may be changed or developed.

    发现的有点晚了,哈哈哈哈。

    9 replies  •  2022-06-06 07:30:32 +08:00
    Xusually
    Xusually
    Jun 5, 2022 via iPhone
    1
    哈哈 这是简单版本
    楼主你猜加法器是怎么实现的?
    cpstar
    cpstar
    Jun 5, 2022
    2
    等等,我还没有读懂第一句,两个等于 1 的位不重叠的二进制数,后半句明白了,位不重叠的二进制数,两个也知道是什么,但是等于 1 是什么概念?
    yigecaiji
    yigecaiji
    Jun 5, 2022 via Android
    3
    @cpstar 比如,10101 和 01010 进行按位或和相加所得的结果一样,所以等于 1 指的应该是位上的值。
    jaggle
    jaggle
    OP
    Jun 6, 2022
    4
    @cpstar 就是 比如 a=101010 ,第 2 、4 、6 位等于 1 ,b=10101 ,第 1 ,3 ,5 位等于 1 ,因此这两个数 a | b 和 a + b 都等于 111111
    misdake
    misdake
    Jun 6, 2022
    5
    不知道这种情况下,现代 CPU 去跑“或”和“加”之间有没有功耗上的区别哦
    cpstar
    cpstar
    Jun 6, 2022
    6
    恕我愚钝,二进制,每个位上的数,除了 0 不就是 1 ?难道还有 2 的情况。。。。
    算了不纠结这个

    这里边唯一破坏这条结论的不就是 1+1=10≠01=1 OR 1 ,存在了进位,而其他三种情况,+和 OR 结果一致。
    但是 1# 所述的加法器,用的一个与门和一个异或门,与门用于计算进位,异或门用于计算本位。
    cpstar
    cpstar
    Jun 6, 2022
    7
    @misdake 5# 你要问的是 CPU 处理 OR 指令和 ADD 指令有什么物理结构上的区别。但事实上 ADD 是一个 XOR 和一个 AND 组成的。
    debuggerx
    debuggerx
    Jun 6, 2022 via Android
    8
    结果一致,但是优先级不同,所以一般不会用+替代|
    http://www.debuggerx.com/2020/11/11/learn-about-digitwise-operation/
    GuuJiang
    GuuJiang
    Jun 6, 2022 via iPhone
    9
    @cpstar 帮 op 断下句
    两个(((等于 1 的位)不重叠)的二进制数)
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1132 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 23:09 · PVG 07:09 · LAX 15:09 · JFK 18:09
    ♥ Do have faith in what you're doing.