原码、补码、反码、移码以及位运算

原码、补码、反码和移码以及位运算

  • 1、原码、补码、反码、移码
  • 2、位运算
    • 2.1 不改变其他位的值的状况下,对某几个位进行设值
    • 2.2 移位操作提高代码的可读性
    • 2.3 ~取反操作使用技巧
    • 2.4 举例
      • 给定一个整型变量a,设置a的bit3,清除a的bit3.
      • 已知有一个int型大小的内存及其地址,如何向该地址存入数据 :4个字节,32位 0x3a47ba14;

1、原码、补码、反码、移码

原码:符号位加上真值的绝对值
反码:正数的反码是其本身,负数的反码是在其原码的基础上符号位不变,其余个位取反
补码:正数的补码是其本身,负数的补码是在其反码的基础上加1;
移码:不管正负数,只要将其补码的符号位取反即可。

2、位运算

2.1 不改变其他位的值的状况下,对某几个位进行设值

2.2 移位操作提高代码的可读性

2.3 ~取反操作使用技巧

2.4 举例

给定一个整型变量a,设置a的bit3,清除a的bit3.

已知有一个int型大小的内存及其地址,如何向该地址存入数据 :4个字节,32位 0x3a47ba14;

你可能感兴趣的:(C语言,C)