Week1:
公式:
n=logax ==> an=x;
alogax=x;
loga1=0;
logaa=1;
logbx=(logba)·logax;
a|b:
表示a整除b,等价于存在c使得b=ac,这里a、b、c均是整数;
a ≡ b (mod m):
两个整数a,b,若它们除以整数m所得的余数相等,则称a,b对于模m同余 ;
与(&)运算
0&0=0,0&1=0,1&0=0,1&1=1;
非(~)运算
1取0,0取1;
或(|)运算
0&0=0,0&1=1,1&0=1,1&1=1;
异或(^)运算
0&0=0,0&1=1,1&0=1,1&1=0
bit manipulation(位操作)
- Turn some bits on(变为1)
- Turn some bits off(变为0)
- Flip some bits (互换位置)
例如:
有个4位的X=1100和隐藏的(第0位和第2位)M=0101
- Turn on bits 0 and 2: X|M=1101
- Turn off bits 0 and 2; X&(~M)=1000
- Flip bits 0 and 2: X^M=1001
Wee2:
公式:
loga(xp)=plogax
loga(x·y)=loga(x)+loga(y)
loga(x3)=loga(x)+loga(x)+loga(x)=3loga(x)
255+x mod 256 == -1+x mod 256
储存负数(补码):
负数在计算机中以补码的形式存储,最高位1为负数,0为正数,补码的方式方便进行加法运算;
正数取反加1为其负数表现形式,那么负数取反加1会得到起它的正数形式吗?
例:-3=1111 1101 ;取反后为:0000 0010 ; 加1:0000 0011 =3;
所以负数取反加1后会得到其正数形式;
那么负数减1取反得到什么呢?
减1:1111 1100;取反:0000 0011=3,则同样得到其正数形式
储存用科学记数法表示的数据:
例如:(1.1101 x 210)
将1.1101,2,10分别转换为二进制进行储存
bit manipulation
来源:https://www.cnblogs.com/lingxi2b2/p/12461854.html