小编pop*_*shi的帖子

包装时,不同高度的浮动div会被卡住


你好!这是一个问题:我有几个(最多5个)不同高度的div.在这些div中是portlet,它们可以在高度上增长.这是一个简化的例子:
HTML:

.clz {
  float: left;
}
Run Code Online (Sandbox Code Playgroud)

这是它的CSS:

<div class="container">
  <div class="clz">1111111111<br/>1111111111</div>
  <div class="clz">2222222222<br/>2222222222<br/>2222222222</div>
  <div class="clz">3333333333<br/>3333333333</div>
  <div class="clz">4444444444<br/>4444444444</div>
</div>
Run Code Online (Sandbox Code Playgroud)

这里是jsfiddle,你可以看到它:http ://jsfiddle.net/eGawU/9/
当我减少我的浏览器窗口宽度时,div被包装,这是非常好的.坏的部分是4444444444卡在2222222 - 它不会落到页面的开头:

1111111 2222222 333333
1111111 2222222 333333
        2222222 444444
                444444
Run Code Online (Sandbox Code Playgroud)

理想的行为是,当发生换行时,4444444被放置在页面开头的完全不同的行:

1111111 2222222 333333
1111111 2222222 333333
        2222222
4444444
4444444
Run Code Online (Sandbox Code Playgroud)

谢谢你的关注.

html css height

6
推荐指数
1
解决办法
3589
查看次数

为什么在2的补码乘法中丢弃MSB?

当我们对2的补码数进行乘法时,我很难理解为什么我们丢弃MSB.

我们以101(十进制:-3)和011(十进制:3)为例.算法是这样的:首先我们将数字的长度加倍,然后我们像在学校那样用小数进行通常的乘法,然后我们采用(加倍长度)*2 = 6个最低有效位.

  1. 双倍长度:

    101 -> 111101
    011 -> 000011
    
    Run Code Online (Sandbox Code Playgroud)
  2. 乘法:( 111101 * 000011 = 10110111十进制:-73)

如我们所见,这个结果是错误的.

  1. 取6个最低有效位(丢弃2个最高有效位). 10110111 -> 110111(十进制:-9)

因此结果变得神奇地正确.怎么解释这个?我知道MSB有点特殊,我在学校使用的规则不能100%适合2的补充,但是虽然我完全理解学校的乘法规则,但我无法绕过2的最后一步.补码乘法(我理解前两步).

computer-science multiplication bit twos-complement

1
推荐指数
1
解决办法
770
查看次数