Sizeof运算、位运算
2017-08-03 17:51
176 查看
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
有符号数:补“符号位”
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
有符号数:补“符号位”
相关文章推荐
- 用位运算实现两个整数的加法运算
- leetcode 421. Maximum XOR of Two Numbers in an Array 最大的异或运算值 + 位运算
- 使用位运算计算加减乘除四则运算
- 逻辑运算和位运算的简单实现——Java版
- 逻辑运算与位运算
- 用位运算实现四则运算之加减乘除
- C语言中 sizeof 运算的值是在编译时还是运行时确定?
- 用位运算实现四则运算之加减乘除
- 用位运算实现两个整数的加法运算
- 黑马程序员——C语言基础篇---基本运算和位运算
- sizeof运算求结构体大小
- C语言中 sizeof 运算的值是在编译时还是运行时确定?
- 按位与 按位或 按位异或(位运算到底可以干什么,有些什么经典应用,以及如何用位运算优化你的程序)
- 用位运算实现两个整数的加减乘除运算
- 用位运算来处理集合中的交,并,补(对称差)运算
- 黑马程序员 《ios零基础教程》 ---sizeof、关系运算符、逻辑运算和三目运算和流程控制if选择结构 2014-3-21总结
- 利用位运算处理权限分配来优化数据库存储,并且提高运算效率
- java 二进制(原码 反码 补码),位运算,移位运算,约瑟夫问题
- 用位运算实现四则运算之加、减、乘
- 利用位运算实现四则运算 -- 华为面试题