《算法竞赛进阶指南》 阅读笔记

发布时间 2023-07-18 22:52:46作者: CheZiHe929

基本算法

位运算

基本算术位运算

  • 与:and,&

  • 或:or,|

  • 非:not,~

  • 异或:xor,^

它们不仅局限于逻辑运算,均可以作用于 二进制整数

注意一点,在 \(m\) 位的二进制的数中,通常称最低位为第 \(0\) 位,从右到左一次类推,最高位为第 \(m-1\) 位。

补码

  • 表示
    最高位为 符号位\(0\) 表示非负数,\(1\) 表示负数。
    把一个编码按位取反后得到的编码称为原编码的 补码

  • 算法
    任意两个数值做加法减法运算,都等同于在 \(32\) 位补码下做 最高位不进位 的二进制加减法运算。
    如果发生了算术溢出后,会 自动对 \(2^32\) 取模(这就解释了“有符号整数”算术上溢时出现负数的现象。