做了那么久程序员,二进制计算都会用了吗?

网站建设3年前发布
17 0 0

你是什么时候注意到位运算?,从毕业入职公司看大佬的代码出现 2 << 4 开始?从小白晋升高开读框架的源码看到 MAXIMUM_CAPACITY = 1 << 30; 开始?还是从什么时候开始?,其实二进制的位运算一直在我们那身边,从你开始编写 Hello Word 打印输出时就有二进制流的处理,只不过隐藏的很深不好发现。所以在我们开始意识到代码和二进制的关系往往都是来自于看到可以用二进制完成的计算,包括;二进制计算效率高于乘机,也包括二进制可以更好的体现出你要设置值的大小范围。比如你要设定一个指定范围大小的 Int 值 = 1073741824,那么是给这样一个整数值看起来直观,还是二进制 1<< 30 更直观呢?其实他们两个值是相等的。所以这样的情况下也会有二进制运算的体现。,而小傅哥在学习编程阶段,第一次注意到二进制的运算是关于a、b两个值的互换,如果不引入第三个值就可以完成?,一个 ^ 帽子一样的运算符,就把两个数给替换,替换后 a = 3,b = 2 那它是怎么办到的呢?,​^ 异或运算:两个操作数的同位中,如果值相同(都是 0 或者都是 1)则为 0,不同(一个是 0,一个是 1)则为 1,而二进制的运算魅力还远不至于此,还可以完成奇偶判断、有效位计算、乘法、加法等。这些内容的学习可以让我们研发人员,积累编程逻辑和拓展思维模式。接下来小傅哥就带着大家学习一下。,位操作是程序设计中对位数组或二进制数的一元和二元操作。在许多古老的微处理器上,位运算比加减运算略快,通常位运算比乘除法运算要快很多。在现代架构中,位运算的运算速度通常与加法运算相同(仍然快于乘法运算),但是通常功耗较小,因为资源使用减少。,四种基本的位运算包括;与&、或|、非~、异或^,20230307140831e242ae135c7f2c99bd9900f8d11045972379a5189,202303070132013107fc120446a0b882505694aa292e73416e5f707,20230307140831983df8a47f5aa30899219481ba9b79756b4537109,2023030714083144516ac15a7ccf323db9304fe03b7dc4ff4c47291,2023030701262449532ed8903115793f7925a2391c47cff51ffc920,202303070126252210e64802ccda0e4c98171358f3a6d8835231581,20230307140900562e33841db984214d5128d72f8935074d75ad248,202303070132042501a2863b8eeceb022439d899ac236071db1e576,20230307013540d2a834c18cfd3ae7f46058de3c38e139c262a5170,20230307012627565144c7821a908d3bc9559443e954e0ea044f392,20230307012627f474ab779c66e6c01a846171b409347109734d429,2023030714083353ee15618f0f9ee85825963b3f83e1a010a225514,20230307012627d37816e29dbbadbb186274347d046e399d1e16510,20230307013205b312ce65734aa9786d6875d7c37c2036d38bb4636,20230307012629736b116564f003d77057514ec8d9bcfd9a0981559,20230307140901878a16b999cb2be193d2767005ad10aaaefbf4981,20230307012630746369006c4e00b7d132890437bf6d793ddde3311

© 版权声明

相关文章