C 位操作
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
C 位操作
时间:2009-10-9
作者:sofa120
注: 转载请说明出处
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
1、C位操作:利用位操作,可以对字节的每位进行管理以及操作,可以极大的缩小了存储空间,有利于存储空间的利用,在资源严格要求的环境中有极大的帮助。
位操作,一般有:&(位与),|(位或),~(取反),^(位与或),>>(位右移),<<(位左移)。
&(位与),两个位同时为1则结果为1。
|(位或),只要一个位为1则结构为1。
~(取反),顾名思义,变1为0,变0为1。
^(位与或),两位不相同时,结果为1。
>>(位右移)
<<(位左移)
2、位操作的应用:
掩码:利用位与跟掩玛一起作用,起到把除掩玛中位为1的位对称的掩盖。
打开位:利用位或把想置1的位跟1位或,这样起到打开位的作用。通常用来控制硬件的端口。
关闭位:通过跟位与操作,利用0跟1位与就起到关闭位的操作。
转置位:利用位与或的特性,0^B为B,1^1为0,1^1为0,就把想转置的位转置了。
查看一位的值:(必须注意的)首先通过掩玛与或关闭不是查询的位。然后通过比较,就可以知道该位的值。
位移得到相应的位:利用位移把不需要的位去除。
3、位操作的另一种方法是:位字段。它是一个unsigned int或signed int中一组相邻的位。位字段由一个结构体申明,提供每一个字段的名字,即标签,决定每个字段的宽度。
如:
struct
{
unsigned int autfd:1;
unsigned int bldfc:1;
unsigned int undln:1;
unsigned int itals:1;
&nb
相关文档:
新建一个Win32 Application,并在相应文件夹下新建一个book.mdb, 里面有一个表BookInfo,表中有以下几例:
id:
BookName:
Author:
等;
//------------------------------------------------------------------------------
// Copyright (c) 2009 eryar All rights reserved.
//
// File : Main.cpp
// ......
Linux下C语言编程基础(Makefile)
2005-01-18 10:28:23 来自:赛迪网
假设我们有下面这样的一个程序,源代码如下:
/* main.c */
#include "mytool1.h"
#include "mytool2.h"
int main(int argc,char **argv)
{
mytool1_print("hello");
mytool2_print(&q ......
1.fopen()
fopen的原型是:FILE *fopen(const char *filename,const char *mode),fopen实现三个功能
为使用而打开一个流
把一个文件和此流相连接
给此流返回一个FILE指针
参数filename指向要打开的文件名,mode表示打开状态的字符串,其取值如下表
字符串 含义
"r" 以只读方式打开文件 ......
检查空格字符
#include <ctype.h>
int isspace ( int c );
http://www.cplusplus.com/reference/clibrary/cctype/isspace/
Checks if parameter c is a white-space character.For the purpose of this function, standard white-space characters are:
' '
(0x20)
space (SPC)
'\t'
(0x09)
horizontal tab ......