xingye1889

源码:最直观的二进制表示

反码:

  • 正数:和源码一样
  • 负数:符号位不变,其余位按位取反

补码:

  • 正数:和源码一样
  • 负数:符号位不变,反码+1

二进制最高位表示符号(0正1负)

计算机负数用的是补码表示,原因是:

  • 减法可以当作加法来运算
  • 0的表述实现统一

左移: << 补0

右移: >> 补符号位

无符号右移: >>> 补0

正整数: >> n 等于除以2^n << n 等于乘以2^n

位运算操作整数。

& 按位与, 遇0则0。

| 按位或, 遇1则1。
按位非, 操作一个数,对位取反,0变成1,1变成0。

^ 按位异或 无进位相加。

异或运算的性质:

  1. 0^N == N N^N == 0
  2. 异或运算满足交换律和结合率

长整数转成短整数:直接截断(可能会造成精度的丢失)

短整数转成长整数:补符号位

分类:

技术点:

相关文章: