C语言位运算、数据类型

位运算

1,按位与

原理,只有当对应的两个二进制位均为1是,结果位才为1,否则为0.
规律:二进制中,与1相&就保持原位,与0相&就为0
相关用途:用来快速的查询二进制的某一位是0还是1。

2,按位或|

原理,只要对应的两个二进制位有一个为1时,结果位就为1,否则为0.

3,按位异或^

原理,当对应的二进制相异(不相同)时,结果为1,否则为0.
(1),相同数值进行异或,结果肯定是0,比如9^9
(2),交换 9^5^6 == 9^5^6
(3),任何数值跟0进行异或,结果还是原来的数值,9^0 == 9
(4),a^b^a == a^a^b ==b

4,位运算举例

(1),交换两个变量的值有3中方法

1> 借助第三方变量

int temp = a;
a=b;
b=temp;

2> 用差量法

a=b-a;
b=b-a;
a=b+a;

3> 用按位异或

a=a^b;
b=a^b;
a=a^b;

(2), 判断奇偶性

1> 用取余%

a%2==0?printf("偶数"):printf("奇数");

2> 用按位与

若a&1==1 则printf("奇数")
若a&1==0 则printf("偶数")

数据类型

1 基本数据类型

(1), int

1 > long int , long ;8个字节  %ld
2 > short int, short;2个字节   %d %i
3 > unsigned int,unsigned ; 4个字节   %zd
4 > signed int, signed, int ;4个字节 %d %i

(2),float\double

1 >float ; 4个字节 %f
2 >double ;8个字节 %f

(3),char

1 > 1个字节%c %d
2 > char类型保存在内存中的是他的ASCII值
 ‘A' --> 65

2 ,构造类型

(1),数组

1> 只能由同一种类型的数据的数据组成
2> 定义:数据类型 数组名(元素个数);

3, 指针类型

(1),变量的定义

int *p;

(2),间接操作变量的值

 int a=10;
 p=&a;
 *p=20;

4 ,枚举类型

使用场合:当一个变量的取值,只允许有几个固定的取值时用。


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值