Sizeof运算、位运算

来源:互联网 发布:windows怎么开启端口 编辑:程序博客网 时间:2024/06/08 08:48

Sizeof运算、位运算

sizeof运算

  语法形式
sizeof (
类型名)
或 sizeof 表达式

  结果值:
“类型名”所指定的类型,或“表达式”的结果类型所占的字节数。

  例:

sizeof(short)

sizeof  x

位运算——按位与(&)

  运算规则

将两个运算量的每一个位进行逻辑与操作

  举例:计算 3 & 5

  用途:

  将某一位置0,其他位不变。
例如:将char型变量a的最低位置0: a = a & 0xfe; ;(0xfe:1111 1110)

  取指定位。
例如:有char c; int a; 取出a的低字节,置于c中:c=a & 0xff; (0xff:1111 1111)

位运算——按位或(|)

  运算规则

  将两个运算量的每一个位进行逻辑或操作

  举例:计算 3 | 5

  用途:

  将某些位置1,其他位不变。
例如:将 int 型变量 a 的低字节置 1 :
         a = a | 0xff;

位运算——按位异或(^)

  运算规则

  两个操作数进行异或:
若对应位相同,则结果该位为 0,
若对应位不同,则结果该位为 1,

  举例:计算 071^052

  用途举例:使特定位翻转(与0异或保持原值,与1异或取反)

例如:要使 01111010 低四位翻转:

位运算——取反(~

  运算规则

  单目运算符,对一个二进制数按位取反。

  例:

 025:0000000000010101

 ~025:1111111111101010

位运算——移位(<<、>>)

  左移运算(<<

左移后,低位补0,高位舍弃。

  右移运算(>>

右移后:

低位:舍弃

高位:

无符号数:补0

有符号数:补“符号位”



原创粉丝点击