本文主要是介绍C语言左移和右移计算的注意点,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
左移运算大多数情况下可以看成是乘法运算(除去高位溢出的情况),但是显然比乘法运算快很多。
注意点:如果一个字节长的数64 (01000000)则左移两位后值变为0
右移运算:移到右端的低位被舍弃,对无符号数,高位补0.
对于有符号数,正数还是补零,但是负数的话,符号位原来是1,则左移移入0还是1,取决于计算机系统
移入0的称为逻辑右移,移入1的称为算术右移
循环移位:假设整数问为2字节
1.将a的右端n位先放到b中的高n位中。b=a<<(16-n)
2.将a右移n位,其左面高位n位补0. c=a>>n
3.将c与b进行按位或运算 c=c|b
这篇关于C语言左移和右移计算的注意点的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!