- 积分
- 207
- 在线时间
- 238 小时
- 最后登录
- 2012-8-17
- 阅读权限
- 50
- 精华
- 0

- UID
- 327390
- 帖子
- 142
- 精华
- 0
- 经验
- 207 点
- 金钱
- 152 ¥
- 注册时间
- 2011-5-1
|

楼主 |
发表于 2011-8-14 14:09
|
显示全部楼层
本帖最后由 ahao 于 2011-8-16 06:26 编辑
楼上的有位朋友说这个帖子可能会变为太监贴,不过我相信,我会坚持的!现在更新~
今天我们来讲讲C语言中的进制数和运算符。
首先来说说进制数。在C语言中,大多数使用的是十进制和十六进制,我们分别来了解一下。
在讲十进制和十六进制数之前,必须提一下二进制数。它是所有数值表示的基础,它只用1和0来表示数。虽然他在编程语言中不常用,但是经常要用数值转换转换为十进制或十六进制数写入程序。至于数值转换,不会没关系,我们的任何一个Windows系统都带有一个免费的软件——计算器。
有了他,数值可以随意转换。
十进制数是我们从小学就开始学习的数字,就是0——9,不用讲了把?
十六进制数是编程中非常重要的一种数类,不管是汇编语言还是C语言中都有十六进制数,他由0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F组成,虽然开始的时候用字母表示数不熟悉,没关系,用计算器!不过建议大家去找一些相关的资料进行学习,熟练地在十进制和十六进制数中转换。
下面来说说运算符。
在C语言中,算数运算符除了“+、—、×、/、= ”之外,还有“%”。我们分别来介绍每个符号的意思。
+:加法运算符,正值符号。
—:减法运算符,负值符号。
×:乘法运算符。
/:除法运算符。
%:求余运算符,意思是说,取出除法结果中的余数为值,说白了就是a÷b的余数,如果除尽了就为0。
=:赋值符号,意思是将等号左边的数值等于等号右边的数值。例如:LED = 1;
除此之外,还有关系运算符,他们分别是“<”、“>”、“<=”、“>=”、“==”、“!=”
<:小于
>:大于
<=:小于等于
>=:大于等于
==:等于
!=:不等于
在这里要注意赋值的符号和等于的符号,他们是有区别的。
下面来说说逻辑运算符,他有三种,分别为“与(&&)”、“或(││)”、“非(!)”,括号内为他们的符号。
在C语言中,一般用1来表示真,用0来表示假。下面我们以1和0的表示方法来说明。
“与”运算:
11001000
与 10011011
———————
10001000
他的意思是:要上下两个同为1时才能为1,如果一个是0,一个是1,结果为0;如果两个为0,结果也为0。
“或”运算:
11001000
或 10011011
———————
11011011
他的意思是:只要上面或下面有一个数为1,结果就为1。只有如果两个为1,结果也为1。只有如果两个为0,结果才为0。
“非”运算:
非 11001000
———————
00110111
他的意思是:1为0,0为1,与取反符号“~”相同。
接下来讲讲位操作。在单片机中,一个字节有8个位,单片机处理信息都是以字节来处理的。如何巧妙滴操作字节中的位呢?这就需要位操作符了。现在只是留个记号,在之后的编程中还会讲到。
&:按位与
│:按位或
^:按位异或
~:按位取反
<<:往左移
>>:往右移
异或运算:
11001000
^ 10011011
———————
01010011
他的意思是:如果上下数值相异(不相同)为1,相同为0。
取反运算与非运算相同。
往左移运算:
10011011
<< 10011011
—————————
00110110
他的意思是:将一组数往左移一位,最左边多出的数舍去,最右边缺少的数补0。
往右移运算:
10011011
>> 10011011
—————————
01001101
他的意思是:将一组数往右移一位,最右边多出的数舍去,最左边缺少的数补0。
以上为C语言中常用的运算,希望大家熟记。下一次我们将会讲数据类型。 |
|