// int a = 010 + 10 ; //0开头是八进制.
//0b 开头是二进制
//0x 开头是十六进制
// printf("%d " ,a ); //%d 打印十进制整数.
//%x 打印十六进制. (字母小写) %X 打印十六进制 (字母大写)
// %o 打印八进制
//一个字节 又是八位二进制数.
//位运算符
//按位与 & (同为1 , 则为1 , 否则 为0 );
// 按位或 | (同为 0 , 则为 0 , 否则 为 1 );
//按位非 ~
//按位异或 ^ (相同为 0 ,不同为 1);
// 左移 运算符 左移一位相对于乘 2 ;
// 右移 运算符 右移一位相对于除 2 ;
//二进制的高四位 和第四位互换.
unsigned char a = 130 ;
unsigned char left = 0; //存储左移之后的结果
unsigned char right = 0 ; //存储右移之后的结果
left = a << 4 ;
right = a >> 4 ;
printf("%d" , left | right) ;
//二进制数的奇偶位互换 .
//1,偶~奇 (右移一位)
// 保留奇数位,将偶数位清零 . & 01010101
//2,奇 ~ 偶 (左移一位) ;
//保留偶数位 , 将奇数位 清零 & 10101010
/**
unsigned char b = 0b10110111;
unsigned char left = 0 ; //存储左移后的结果
unsigned char right = 0 ; //存储右移后的结果
//如果想做清零操作使用 按位与 , 清零位为 0 ,保留位为1
//(1) 先左移一位
*
left = b << 1;
//(2) 保存偶数位 ,将奇数位清零
left = left & 0b10101010;
//(3)右移一位
right = b >> 1 ;
//(4)保留偶数位 , 将奇数位 清零
right = right & 0b01010101 ;
//(5) 按位或
printf("%d\n" , left | right);
*/
//栈区内存分配原则:从高到低分配,从低到高 存取
// 地址 : 内存单元的编号.
//
// int a = 10 ;
// int b = 5 ;
// printf("%p %p\n",&a ,&b);
// int a [5] = {1,2,3,4,5};
//
// printf("%p \n%p \n%p \n%p \n%p \n %p \n" ,&a[0], &a[1] ,&a[2] ,&a[3] ,&a[4] ,a);
// printf("%d \n " , 3 ^ 5);
C 语言 整理8
原创
©著作权归作者所有:来自51CTO博客作者缘起愿落的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
初识C语言
简述初识c语言的心得
初识c语言 -
c语言格式大整理
1、C语言中,非零值为真,真用1表示;零值为假,假用0表示。2、转义字符参考:\a蜂鸣
ACMer 基础知识 数据 十进制 字符串 -
C语言常用函数整理
目录和输入输出相关的转义序列printf()转换说明符 printf()修饰符
C语言常用函数整理 修饰符 输入输出 转义序列