zoukankan      html  css  js  c++  java
  • C语言移位运算

    移位运算有两种:>>(右移),<<(左移)。

    a>>b表示将a的二进制值右移b位。 a<<b 表示将a的二进制值左移 b位。要求 a和 b都是整型, b只能为正数,且不能超过机器字所表示的二进制位数。

    移位运算具体实现有3种方式:循环移位、逻辑移位和算数移位(带符号)。

    循环移位:移入的位等于移出的位。

    逻辑移位:移出的位丢失,移入的位取0.

    算数移位:移出的位丢失,左移入的位取0,右移入的位取符号位。

    C语言中,移位运算方式与具体的C语言编译器有关,通常实现中,左移位运算后右端出现的空位取0,移至左端之外的位舍弃;右移运算与操作数的数据类型是否带有符号位有关,不带符号位的操作数右移位时,左端出现的空位补0,移至右端之外的位则舍弃,带符号位的操作数右移位时,左端出现的空位按符号位复制,移至右端之外的位则舍弃。

  • 相关阅读:
    [noip2010]关押罪犯 并查集
    双栈排序 noip2008
    欧拉函数
    中国剩余定理(孙子定理)
    求组合数
    线性素数筛
    洛谷 P2661 信息传递
    图的最短路
    Mzc和男家丁的游戏
    最佳旅游线路
  • 原文地址:https://www.cnblogs.com/xianzhedeyu/p/3473753.html
Copyright © 2011-2022 走看看