zoukankan      html  css  js  c++  java
  • ISO/IEC 9899:2011 条款6.5.7——按位移位操作符

    6.5.7 按位移位操作符

    语法

    1、shift-expression:

            additive-expression

            shift-expression    <<    additive-expression

            shift-expression    >>    additive-expression

    约束

    2、每个操作数应该具有整数类型

    语义

    3、在每个操作数上执行整数晋升。结果类型是左操作数晋升后的类型。如果右操作数的值是负数或者大于等于晋升后的左操作数的宽度,那么行为是未定义的。

    4、E1 << E2 的结果是E1左移E2比特位;留出来的比特用零填充。如果E1具有一个无符号类型,那么结果的值为E1 × 2E2,缩减到模比结果类型可表示的最大值加1。如果E1具有一个带符号类型以及非负的值,并且E1 ×2E2在结果类型中是可表示的,那么那即是结果类型;否则,行为是未定义的。

    5、E1 >> E2 的结果是 E1 右移 E2比特位。如果E1具有一个无符号类型,或者E1具有一个带符号类型与一个非负值,那么结果的值是E1 / 2E2的商的整数部分。如果E1具有一个带符号的类型与一个负值,那么结果值是实现定义的。

  • 相关阅读:
    完成卸载vs2010后再安装
    图片集合,可用作商品列表
    无可奈何花落去
    Uncaught TypeError: Cannot read property 'msie' of undefined
    CodeGenerator.cs
    年月日控件
    SQL GETDATE()日期格式化函数
    股票操作要点
    Rust 错误处理, 包裹错误
    使用 Rust 实现并查集
  • 原文地址:https://www.cnblogs.com/zenny-chen/p/4853692.html
Copyright © 2011-2022 走看看