• 位移运算


    #include <stdio.h>
    
    int main(void)
    {
        unsigned a,b,c,d;    //unsigned默认等于unsigned int 类型
        int n;
        a = 64;
        n = 2;
        
        //将操作数a右移(6-n)位
        b = a >> (6-n);
        printf("b=%d
    ",b );   //4
    
        //将操作数a左移n位
        c = a << n;
        printf("c=%d
    ",c );   //256
    
        //对操作数a进行混合位运算
        d = (a >> (n-1)) | (a << (n+1));
        printf("d=%d
    ",d );    //544
    }
    
    /**
        左外移操作符(<<):用来将一个数的各二进制位全部左移若干位
        标准的左移语句是:variable << 左外移数。在左移的过程中,高位左移后溢出,舍弃不起作用,左移一位相当于操作数乘以2的一次方;左移2位相当于操作数乘以2的平方
        右移位操作符(>>):将一个数的各二进制全部右移若干位。
        标准的右移语句是:variable  >> 右移位数。在右移的过程中,移到右端的低位将被舍弃,对于无符号数,高位补零。右移一位表示操作数除以2,右移n位相当于操作数除以2的n次方
        在右移时,需要注意的是符号位问题。对于无符号数,右移时左边高位移入0,对于有符号数,若原来的符号为0(即该数为正),则左移也是移入0,但是如果符号位原来为1(即负数),则左边移入0还是1,要取决于所用的计算机系统
    
    */
    杂念太多,必然根基浅薄
  • 相关阅读:
    变量使用的注意事项
    计算机存储单元
    常量
    mybatis报错There is no getter for property named '***' in 'class ***'
    sonar-scanner扫描各种出错解决
    SonarQube搭建的各种问题
    linux每日命令(18):whereis命令
    Django视图层之路由配置系统(urls)
    Django---MTV模型、基本命令、简单配置
    web框架
  • 原文地址:https://www.cnblogs.com/starshine-zhp/p/12381919.html
Copyright © 2020-2023  润新知