• 位运算符


    位运算符

    位运算作用于整数类型的运算对象,并把运算对象看成是二进制位的集合。

    • 如果运算对象是小整形将会被自动提升为较大的整数类型。
    • 运算对象可以是带符号的也可以是无符号的,如果运算对象是带符号的数并且是负值,那么位运算如何处理该符号位是依赖于机器的。并且,此时的左移操作会改变符号的值,因此是一种未定义的行为。
    • 关于符号位如何处理没有明确规定,所以强烈建议将位运算符用于处理无符号类型。

    移位运算符

    左移运算符(<<)在右侧插入值为0 的二进制位。
    右移运算符(>>)的行为则依赖于其左侧对象的类型,如果该运算对象是无符号类型,在左侧插入值为0的二进制位;如果该运算对象是带符号类型,在左侧插入符号位的副本值或值为0的二进制位,如何选择视环境而定。

    移位运算符又叫作IO运算符,满足左结合律:

    cout<<"hi"<<"there"<<endl;
    ((cout<<"hi")<<"there")<<endl; //与上面等价
    
  • 相关阅读:
    WebFrom与MVC异同
    MVC解决WebFrom的缺点
    转载ORM--EF框架
    转载 HashSet用法 合交并差
    用户管理模块数据库设计
    外键的增删改查练习
    索引:如何让主键不自动创建聚集索引???
    SQL-类型转换函数
    SQL-union
    SQL字符串函数
  • 原文地址:https://www.cnblogs.com/xiaojianliu/p/12498283.html
Copyright © 2020-2023  润新知