unsigned and 01

代数运算 对应 1003 + 1 =1004

D: 1003 B: 0011 1110 10110011 1110 1011 + 1 = 0011 1110 1100

也就是说同一个非负整数 在十进制和二进制都 有一个序列和它一一对应
  1. 数本身是一一对应的
  2. 运算也是一一对应的 +1 -1
也就是说加减法 在十进制和二进制是 等价的
溢出的问题 如果我们规定一个序列只有两位
00+01 01+01 10+01 11+11? 这里该是多少呢? 如果我们有3位 11 01 100 但是我们这里 只有两位 发现最高位的1被吞掉了 这就是溢出 00

如果你的序列不是无限的 而是有限的 你就会发现 他的所有元素会形成一个环
00 1101 10

把n bit按每个块m bit的大小划分 能划分出$\frac{n}{m}$??个块, 但是你想每一个位置都一一对应一个地址的话,也就是每一个块都能被找到的话
那必须是 $\frac{n}{m}$ <= 2^m
n = 8 m = 2 2^m = 4 n/m = 4

二进制就是模为2求余数的同余 过程
位与数字 把n bit按m bit的大小划分 能划分出$\frac{n}{m}$?个块, 但是你想每一个位置都一一对应一个地址的话,也就是每一个块都能被找到的话
【unsigned and 01】那必须是 $\frac{n}{m}$ <= 2^m
unsigned and 01
文章图片

同一个非负整数 10进制和2进制代表的意思是相同 只是他们的表达形式不太
例如
13 D: 1x10^1 + 3x10^0 1101 B: 1x2^3 + 1x2^2 + 0x2^1 + 1x2^0

负数的解决 (补码) 比如我有m位
那么一个一半
2^m-1位非负整数 另外2^m-1表式负数
二进制符号结构 补码代数结构 十进制符号结构
unsigned and 01
文章图片

这才是二的补码 就是定义在环上的代数运算
取反加一 比如 0011 取反 110-2 +001+1 为什么这里不是-1? 111-3这就是负数 -1的补码 那么它的原码就是先减1 110反码 符号位不变其他取反 101-1这才是-1原码

溢出的点位发生了 180* 旋转
求一个正数所对应的负数
1001 先取反 110 然后+1 111这就是你求的那个数的补码补码还原为原码的过程 先-1 110 然后处符号位取反 101-1

反码:正数的反码就是其原码;负数的反码是将原码中,除符号位以外,每一位取反
补码:正数的补码就是其原码;负数的反码+1就是补码。
负数的原码 = 反码 取反 = 补码-1 取反

    推荐阅读