JavaScriptのビット演算は32bitに切り詰め
られるっぽいhttps://developer.mozilla.org/ja/docs/Web/JavaScript/Guide/Expressions_and_Operators#bitwise_logical_operators
なので例えばBigIntに32bitを超えるデータを入れてビット演算しても無意味
(0xf000f000F000F000).toString(2)
+ "1111000000000000111100000000000011110000000000001111000000000000"
» (0xf000f000F000F000>>>4).toString(2)
e "1111000000000000111100000000"
>> 4nならいける
>>>はエラーになる
<<は正常に計算できてなさそう
Unsigned right shift 以外なら使えるっぽい
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Unsigned_right_shift
2024-08-25 日本語版反映されてない
https://gyazo.com/6209fc25cdef2541754e029786ad322d
JavaScriptのビット演算は危険がいっぱい #number - Qiita
JavaScriptのbit演算
Number.MAX_SAFE_INTEGERは$ 2^{53}-1だから、numberは53bitまで正確に整数を表せるということ
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Number/MAX_SAFE_INTEGER#解説
それ以上は保証されない
https://developer.mozilla.org/ja/docs/Web/JavaScript/Guide/Expressions_and_operators#ビット演算子
https://zenn.dev/nobokko/articles/tech_js_bitwiseoperation
#javascript
#2024-08-25 07:32:56
#2024-08-21 00:03:40
#2024-08-20 20:49:15
#2021-10-16 19:07:53