C语言运算符另类分类法
原文出自:刘建文 | 学术半·IT歌·文(http://arttech.us)
一般的C语言程序设计文本对C运算符的分类大概都是分为五大类:算术运算符、 关系运算符、逻辑运算符、按位运算符和一些特殊任务的运算符。这种分类法表面上“合情合理”,事实相当的笼统含混。算术运算符好理解,什么叫关系运算符,关系可运算么?关系是什么数据值参与运算? 不甘于这种含混的分类法,这几天花了一点时间对C语言的全部运算符进行分拣,分别从设计、语义和哲学等多个角度对C运算符进行分析,并且归纳出以下五类:
- 计算指令
- 判断指令
- 保存指令
- 对象元操作指令
- 自定义指令
此分类的根据是机器的功能,理解它需一些计算理论知识,分类标准在尾部解析。
运算符与机器指令
从语言与机器的关系看,运算符就是操值指令,C语言操作符就是C语言机的指令。本文将[运算符]替换为更本质的[指令]一词,理解时可互换。
计算指令
‘计算’一词其实不够深刻,计算的概念源自具体的特殊的算术运算,可以的话用[操值指令]更一般更深刻。
二元算术指令
- 设计:数值计算,二元操值指令,对二值进行物理增减,操值结果类型不变(逻辑:概念的处理)
- 语义:在信息值A的基础上添加或整倍添加、去除或整倍去除信息值
- 哲学:机器是“懂”信息单位——整数和浮点数,并且会这种数值物理增去操作
- 指令:
`+, -' Addition and subtraction. Defined _disibledevent=>`*, /, %' Multiplication, division, and modulus. Multiplication and division are defined on integral and floating-point types. Modulus is defined on integral types.
延伸阅读
- 2010-12-10-- 逻辑运算符,WPS逻辑运算符
- 2011-7-30-- 类型转换运算符,C++标准转换运算符reinterpret_cast
- 2010-12-9-- 运算符,LESS 让css也支持变量,运算符,include,嵌套规则等等
- 2010-12-9-- 运算符,JavaScript.The.Good.Parts阅读笔记(一)假值与===运算符
- 2011-8-1-- 类型转换运算符,C++标准转换运算符dynamic_cast
- 2010-12-9-- c语言中的运算符,javascript中/运算符常见错误
- 2010-11-24-- 运算符与表达式,C#知识点之运算符与表达式
- 2010-12-9-- 赋值运算符,php foreach 使用(与运算符)引用赋值要注意的问题
- 2010-12-9-- 运算符,LESS 让css也支持变量,运算符,include,嵌套规则等等
- 2010-11-24-- c语言运算符,C语言逻辑运算(&&,>>,<<......)
最新评论