嵌入式工作 (常用算法)
嵌入式工作 (常用算法)
1、define 将某个Bit位 进行置位或置零
#include <stdio.h> // 头文件 #define BIT3 (0x1<<3) // 0x01=0001 Bit3=1000 #define set_bit_3(a) a|=BIT3 //bit8位是 bit0-bit7 //|是按位或 及两个相应的二进制位中只要有一个为1,该位的结果值为1 #define clear_bit3(a) (a &= ~BIT3)//先取反再按位与 //&是按位与 及如果两个相应的二进制位都为1,则该位的结果值为1,否则为0 //~是取反,用来对一个二进制数按位取反,即将0变1,将1 int main() { unsigned char a = 0x00; unsigned char b = 0xff; set_bit_3(a); clear_bit3(b); printf("set_bit_3=%#X ",a); printf("clear_bit3=%#X ", b); // %x 即按十六进制输出,英文字母小写,右对齐。 // %#表示的输出提示方式,如果是8进制,在前面加0,如果是十进制,不加任何字符,如果是十六进制,会加上0x }
2、求字符长度
void printf_bit() { unsigned char date[10] = { 0 }; // 字符数组 //char占1个字节 字符数组date 字节数为1X10=10 unsigned char* pdate = date; // 指针变量在内存中占四个字节(32位机器上) char* pStr = "Succeeded!"; // 指向一个字符串常量 printf("%d %d %d %d ",sizeof(date[0]), sizeof(date), sizeof(pdate), strlen(pStr)); }
下一篇:
牛客网——单链表反转