bit_operator
差分
このページの2つのバージョン間の差分を表示します。
次のリビジョン | 前のリビジョン | ||
bit_operator [2020/12/03 05:48] – 作成 nullpon | bit_operator [2023/07/30 02:08] (現在) – nullpon | ||
---|---|---|---|
行 16: | 行 16: | ||
``` | ``` | ||
- | ## 2の冪乗の剰余計算の高速化 | + | ## 2の冪乗の計算の高速化 |
- | ``` | + | 10進数で10倍、1/10などが考えやすいのと同じく、2進数では2倍、半分などが計算しやすい |
- | 123456789 % (2 ** 10) | + | |
- | 123456789 & (1 << 10) - 1 // => 277 | + | ```ruby |
+ | 2 ^ 10 # => 1024 | ||
+ | |||
+ | 1 << 10 # => 1024 | ||
``` | ``` | ||
+ | 剰余計算 | ||
+ | |||
+ | ```ruby | ||
+ | 123456789 % 1024 # => 277 | ||
+ | |||
+ | 123456789 & (1024 - 1) # => 277 | ||
+ | ``` | ||
</ | </ |
bit_operator.1606974501.txt.gz · 最終更新: 2020/12/03 05:48 by nullpon