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具有一个带符号的类型与一个负值,那么结果值是实现定义的。
ISO/IEC 9899:2011 条款6.5.7——按位移位操作符的更多相关文章
- ISO/IEC 9899:2011 条款6.5——表达式
6.5 表达式 1.一个表达式是操作符与操作数的一个序列,这些操作符与操作数指定了一个值的计算,或指派一个对象或一个函数,或是生成副作用,或执行上述操作的组合.对一个操作符的操作数的值计算顺序排在对该 ...
- ISO/IEC 9899:2011 条款3——术语、定义与符号
3. 术语.定义与符号 1.对于此国际标准的意图,应用了以下定义.其它术语是在用斜体类型或一个语法规则左侧出现的地方定义.在本国际标准中所显式定义的术语不被假定为对其它地方所定义的类似术语的隐式引用. ...
- ISO/IEC 9899:2011 条款5——5.2.1 字符集
5.2.1 字符集 1.两个字符集和它们相关联的依次顺序应该被定义:写在源文件中的集合(源字符集),以及在执行环境中被解释的集合(执行字符集).每个集合此外被划分为一个基本字符集,其内容由本子条款给出 ...
- ISO/IEC 9899:2011 条款6.4.2——标识符
6.4.2 标识符 6.4.2.1 通用 语法 1.identifier: identifier-nodigit identifier identifier-nondigit identifie ...
- ISO/IEC 9899:2011 条款6.4.3——通用字符名
6.4.3 通用字符名 语法 1.通用字符名: universal_character-name: \u hex-quad(四位十六进制数) \U hex-quad hex-quad hex-quad ...
- ISO/IEC 9899:2011 条款6.3.1——算术操作数
6.3.1 算术操作数 6.3.1.1 布尔.字符以及整数 1.每个整数类型具有一个整数转换等级,如下定义: ——两个带符号的整数类型都不应该具有相同等级,即使它们具有相同的表示. ——一个带符号整数 ...
- ISO/IEC 9899:2011 条款5——5.1.2 执行环境
5.1.2 执行环境 1.定义了两个执行环境:独立式(freestanding)以及宿主的(hosted).在这两种情况下,当一个派定的C函数被执行环境调用时,程序就启动.所有具有静态存储周期的对象应 ...
- ISO/IEC 9899:2011 条款4——标准顺从
4. 标准顺从 1.在本国际标准中,“应该”被解释为对一个实现或一个程序的要求:相反地,“不该”被解释为禁用. 2.如果违反了出现在一个强制规定或运行时强制规定之外的“应该”或“不该”要求,那么该行为 ...
- ISO/IEC 9899:2011 条款6——语言
6 语言 6.1 标记法 1.在本条款中所使用的语法标记法.语义类别(非终结符)用斜体字指示,而字面量单词以及字符集成员(终结符)用粗体字指示.跟在一个非终结符后面的冒号(:)引出其定义.在单独的行中 ...
随机推荐
- PHP openssl DES加解密
不说废话上代码 加密 $str_padded = 'android'; //要加密的字符串 $iv = "12345678"; 偏移值 cbc必填 "\x01\x02\x ...
- Vue路由实现页面跳转的两种方式(router-link和JS)
Vue.js 路由可以通过不同的 URL 访问不同的内容,实现多视图的单页 Web 应用 1.通过 <router-link> 实现 <router-link> 组件用于设置一 ...
- python统计代码总行数(代码行、空行、注释行)
我们在工作或学习代码的过程中,经常会想知道自己写了多少行代码,今天在项目环境写了个脚本统计了项目代码的数量. 功能: 1.统计代码总行数 2.统计空行数 3.统计注释行数 # coding=utf-8 ...
- WXS介绍
WXS(WeiXin Script)是小程序的一套脚本语言,结合 WXML,可以构建出页面的结构. 1.WXS与JS的区别 1.1 WXS 的基础类库: WXS 只提供给开发者5个基础类库,分别是 c ...
- 0024SpringMVC中几个常见注解的实验
对SpringMVC中的以下几个常用注解进行简单的实验测试: 1.@RequestParam 2.@PathVariable 3.@RequestBody 4.@RequestHeader 5.@Co ...
- destoon二次开发-签到时间函数扩展
在api/extend.func.php文件下增加以下代码: //签到时间函数 function timetoday($time = 0, $type = 6) { if(!$time) $time ...
- 51Nod 最大公约数之和V1,V2,V3;最小公倍数之和V1,V2,V3
1040 最大公约数之和 给出一个n,求1-n这n个数,同n的最大公约数的和.比如:n = 6 1,2,3,4,5,6 同6的最大公约数分别为1,2,3,2,1,6,加在一起 = 15 输入 1个数N ...
- 多线程执行sql报错处理
pymysql多线程访问数据库报错:Packet sequence number wrong - got 7 expected 2 原文:https://www.cnblogs.com/heiao10 ...
- [Angular] How to show global loading spinner for application between page navigation
app.component.ts: import { Component, OnInit } from "@angular/core"; import { select, Stor ...
- 04_(终结版)通过App实现对数据库的增删改
设计思路:用户注册登录:用户注册或登录(login数据表),成功后进入增删改查(words数据表)注意:只有登录验证成功后才可以增删改查,否则提示未登录! 增:用户在App上add(单词.词义.音标) ...