摘要:
微博上有人出了几道小题目,也有人做出了不错的回答。就此我个人总结复习下。1. 把一个数提升到8的倍数。如1->8, 8->8, 11->16, 23->24。(x+7) & -82. 已知消息长度 x,要求补齐到最近的 8 的倍数,用一个表达式写出需要 padding 的字节数-x & 7解题思路和常识这类题目普通的思路是求余,这里用到是与操作和补码。先说下补码补码不难,正数的补码和原码相同。负数的补码分两步:取反然后加上1,相当于(~x+1)。所以: (ps: 下面的一些代码是运行在scala里)scala> println(Integer.to 阅读全文