数据的机器级表述
数据的机器级表述
为什么会有位运算?
逻辑门和导线是构成计算机(组合逻辑电路)的基本单元
位运算是用电路最容易实现的运算
& | ~
^
<< >>
几千个晶体管就可以玩儿超级玛丽啦!
位运算理论complexity是常数级
而加法呢?—移步计组~
整数是固定长度的Bit String
eg.怎么取出x的右数第二位?
( x >> 1 ) & 1
怎么取出某几个字节?( x >> 16 ) & 0xFF
取出之后再交换呢? ( ( x & 0xFFFF ) << 16) | ( ( x >> 16) & 0xFFFF )
单指令多数据
&,|,~,... 对于整数里的每一个bit是独立(并行)的
如果我们操作的对象刚好每一个bit是独立的,我们就可以在一条指令里实现多个操作—SIMD
This post is licensed under CC BY 4.0 by the author.
