【2021-11-21】【Kotlin】表达式同时包含算术与移位运算(shl / shr / ushr)时,注意运算符的优先级。
如
when (((if (v[1] != null) 1 else 0) shl 1) + (if (v[0] != null) 1 else 0)) {//...
}
不难看出,语句
((if (v[1] != null) 1 else 0) shl 1) + (if (v[0] != null) 1 else 0)
产生一个 2 位的二进制数,从右数第 0 位和第 1 位的值分别由变量 d[0] 或 d[1] 是否为空来决定。根据这个值跳转到不同的分支。这样的技巧在编程中并不少见。
然而,如果错写成了
(if (v[1] != null) 1 else 0) shl 1 + (if (v[0] != null) 1 else 0)
就会产生错误的结果,最终把执行导向错误的分支。
【2021-11-21】【Kotlin】表达式同时包含算术与移位运算(shl / shr / ushr)时,注意运算符的优先级。相关推荐
- 尚硅谷——谷粒商城项目开发记录——2021.11.21
尚硅谷--谷粒商城项目开发记录--2021.11.21 概念: 1.var和let的区别: 作用域: var 声明的变量往往会越域 let 声明的变量有严格局部作用域 声明次数: var 可以声明多次 ...
- 2021.11.21【读书笔记】丨生物信息学与功能基因组学(第五章 高级数据库搜索 中 )
5.3 寻找远缘相关蛋白质:位置特异性迭代BLAST(PSI-BLAST)和DELTA-BLAST PAM250矩阵给探测远缘相关蛋白质提供了一个更好的打分系统,可以改变打分矩阵来检测远缘蛋白质,但仍 ...
- 2021.11.8-11.14 AI行业周刊(第71期):AI行业经验
篇章一:行业经验 不同的AI公司,对于AI产品的场景定位不同. 有的公司是面向C端产品.有的公司专门做B端用户. 当然大白所在的公司,也有具体的定位,主要面向智慧金融.智慧机场.智慧城市. 之前,一直 ...
- JavaScript-百炼成仙(第1节掌握JavaScript基础1.1-1.21)
文章目录 1.1 第一章 初入宗门 1.2 第二章 直接量 1.3 第三章 数据类型 1.4 第四章 数据类型 扩展内容: 1.5 第五章 基础考核 1.6 第六章 何老 1.7 第七章 对象数据类型 ...
- 第13期微生物组-宏基因组分析(线上/线下同时开课,2021.11)
福利公告:为了响应学员的学习需求,经过易生信培训团队的讨论筹备,现决定安排扩增子16S分析.宏基因组.Python课程和转录组的线上直播课.报名参加线上直播课的老师可在1年内选择参加同课程的一次线下课 ...
- 微生物组-宏基因组分析(线上/线下同时开课,2021.11)
福利公告:为了响应学员的学习需求,经过易生信培训团队的讨论筹备,现决定安排扩增子16S分析.宏基因组.Python课程和转录组的线上直播课.报名参加线上直播课的老师可在1年内选择参加同课程的一次线下课 ...
- 2021.1.21课程摘要(逻辑教育-王劲胜)
2021.1.21课程摘要 逻辑教育-13期-Python基础班-王劲胜 一.字符串 二.运算符 三.作业讲解 逻辑教育-13期-Python基础班-王劲胜 一.字符串 1.字符串的方法 • len( ...
- C++11之常量表达式(const与constexpr的区别)
系列文章 C++11之正则表达式(regex_match.regex_search.regex_replace) C++11之线程库(Thread.Mutex.atomic.lock_guard.同步 ...
- 尚硅谷——谷粒商城项目开发记录——2021.11.22
尚硅谷--谷粒商城项目开发记录--2021.11.22 概念: 1.对象优化: 新增的API: ES6 给 Object 拓展了许多新的方法,如: keys(obj): 获取对象的所有 key 形成的 ...
最新文章
- 详解BLE 空中包格式—兼BLE Link layer协议解析
- java字符串类型常量拼接与变量拼接的区别
- 终于等到你!阿里正式向 Apache Flink 贡献 Blink 源码
- jquery 常见选择器以及一些方法
- 监控系统可以终结酒驾吗?
- 牛客题霸-SQL篇——10~20题
- VC++6遇到的问题(持续更新)
- Django--CRM-客户列表展示, 分页
- Visual Studio 发布新版API智能提示
- 小D课堂 - 零基础入门SpringBoot2.X到实战_第11节 Logback日志框架介绍和SpringBoot整合实战_44、新日志框架LogBack介绍...
- 数据分析统计知识—假设检验
- 数据结构创建有向图(C++语言)
- 李云龙二次元风格化!
- 墨刀实现区域内滚动效果
- 前端同学需要知道的产品原型绘制技巧
- 关于在word中使用分栏符 出现左边没有填完就开始了右边 然后再是左边 然后再右边的解决
- Shiro认证源码解析和工作原理
- oracle中的日期函数
- eclipse32位安装教程_Mastercam X6/(32位、64位) 软件安装教程
- Excel 技巧百例:数据透视表的排序
热门文章
- wavecn 2.0.0.5 正式版_iOS 13.6 GM版?来了,正式版还会远吗?
- Android的网络视频播放
- NuGet Package Explorer
- python除法编程_跟老齐学Python之啰嗦的除法
- 14李沐动手学深度学习v2/权重衰退简洁实现
- 封基高折价 投资机会扩大
- SpringMVC框架理解
- 花点时间自己DIY一款心仪的App
- Scapy3.0 Documentation ( Usage )
- JavaScript版科学计算器(收藏品)