离散数学

最后都变了- 提交于 2020-03-11 14:16:10

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(位操作)

  1. Turn some bits on(变为1)
  2. Turn some bits off(变为0)
  3. Flip some bits (互换位置)

例如:

有个4位的X=1100和隐藏的(第0位和第2位)M=0101

    1. Turn on bits 0 and 2:  X|M=1101
    2. Turn off bits 0 and 2;  X&(~M)=1000
    3. 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

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!