c语言二分法 位移位运算符?
浏览量:2849
时间:2021-03-14 01:25:59
作者:admin
位移位运算符?
编程中的移位运算,一种位运算运算符。1在C语言中,有双目移位运算符:<<(左移位)和>>(右移位)。由移位运算符组成的表达式也是算术表达式,它们的值是算术值。2左移操作是将二进制位的操作数按照指定的要移动的位数向左移动,移出的位被丢弃,右边的所有空位都用0填充。三。右移操作是根据要移动的指定位数将二进制位的操作数向右移动。移出的位被丢弃,左边移出的空位被0或符号位填充,这取决于不同的机器。在使用补码作为机器编号的机器中,正数的符号位是0,负数的符号位是1。
移位和位移区别?
在C语言中,置换涉及两个运算符:>>表示向右移位,<<表示向左移位。在汇编指令中,SHL和SHR表示逻辑左移和逻辑右移,SAR和sal表示算术左移和算术右移。其中,逻辑左移和算术左移是寄存器二进制位整体左移,并在右侧填充0。右移是不同的。逻辑右移是将整体右移并在左侧填充0,而算术右移是根据原始符号位的值填充相同的值。根据C标准,如果移位运算符左侧的变量是有符号数,如int、char、short等,则编译生成的汇编指令是算术移位指令。如果变量是无符号数,如unsigned int、unsigned char等,则编译生成的汇编指令是逻辑移位指令。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。
下一篇
php更改头像 卡通头像