------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
1.位运算符和位运算
位运算是指按二进制位进行的运算。因为在系统软件中,常要处理二进制位的问题。
& 按位与
| 按位或
^ 按位异或
~取反
》右移
《左移
只有取反是一目运算符,其他的均为二目运算符。
运算的值只能是整型或者字符型,不能是浮点型。
按位与是指:
参加运算的两个数据,按二进制位进行“与”运算。如果两个相应的二进制位都为1,则该位的结果值为1;否则为0。
同1为1
用途之一就是对存储单元的数清零。
其二是取指定的数位
如有一个整数a(2个字节),想要取其中的低字节,只需将a与8个1按位与即可
0 0 1 0 1 1 0 0 1 0 1 0 1 1 0 0
&0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
0 00 0 0 0 0 0 1 0 1 0 1 1 0 0
其三是保留一位的方法:与一个数进行&运算,此数在该位取1
按位或:
两个相应的二进制位中只要有一个为1,该位的结果值为1
按位或运算常用来对一个数据的某些位定值为1。例如:如果想使一个数a的低4位改为1,只需将a与017进行按位或运算即可。
按位异或:
异或运算符∧也称XOR运算符。它的规则是:
若参加运算的两个二进制位同号则结果为0(假) 异号则结果为1(真)
- 可以使特定位翻转。
- 与0相^,保留原值。
- 交换两个值:
a=a∧b;
b=b∧a;
a=a∧b;
~取反运算符就是按位取反1变0,0变1;
左移右移:
左移运算符是用来将一个数的各二进制位全部左移若干位。
高位左移后溢出,舍弃。
右移一位相当于除以2
右移n位相当于除以2n。
对无符号数,右移时左边高位移入0;对于有符号的值,如果原来符号位为0(该数为正),则左边也是移入0。
如果符号位原来为1(即负数),则左边移入0还是1,要取决于所用的计算机系统。有的系统移入0,有的系统移入1。
移入0的称为“逻辑右移”,即简单右移;移入1的称为“算术右移”。
位运算符与赋值运算符可以组成复合赋值运算符。
例如: &=, |=,>>=, <<=, ∧=
a& = b相当于 a =a & b
2.文件的基本概念与函数
所谓文件一般指存储在外部介质(如磁盘磁带)上数据的集合.操作系统是以文件为单位对数据进行管理的.
FILE类型的数组:
FILE f[5];定义了一个结构体数组f,它有5个元素,
可以用来存放5个文件的信息。
文件型指针变量:
FILE *fp;fp是一个指向FILE类型结构体的
文件的打开(fopen函数)
函数调用:
FILE *fp;
fp=fopen(文件名,使用文件方式);
- 需要打开的文件名,也就是准备访问的文件的名字;
- 使用文件的方式(“读”还是“写”等);
- 让哪一个指针变量指向被打开的文件。
文件的关闭(fclose函数)
函数调用:fclose(文件指针);
函数功能:
使文件指针变量不指向该文件,也就是文件指针变量与文件“脱钩”,此后不能再通过该指针对原来与其相联系的文件进行读写操作
返回值:
关闭成功返回值为0;否则返回EOF(-1)。
字符输入输出函数(fputs()和fgets())
fputs函数
函数调用:fputs ( ch,fp ) ;
函数功能:
将字符(ch的值)输出到fp所指向的文件中去。
返回值:如果输出成功,则返回值就是输出的字符;如果输出失败,则返回一个EOF.
fgets函数
函数调用:ch=fgets(fp);
函数功能:从指定的文件读入一个字符,该文件必须是以读或读写方式打开的。
返回值:
读取成功一个字符,赋给ch。如果遇到文件结束符,返回一个文件结束标志EOF 。
数据块读写函数(fread()和fwrite())
函数调用:
fread (buffer,size,count,fp);
fwrite(buffer,size,count,fp);
参数说明:
buffer:是一个指针。
对fread 来说,它是读入数据的存放地址。对fwrite来说,是要输出数据的地址(均指起始地址)。
size: 要读写的字节数。
count:要进行读写多少个size字节的数据项。
fp: 文件型指针。
C语言中提供了许多操作文件的函数。
本文深入解析Java中的位运算符及应用,包括按位与、按位或、按位异或等,并介绍文件的基本概念与操作函数,如文件打开、关闭、字符输入输出、数据块读写等。

被折叠的 条评论
为什么被折叠?



