Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Tadpole operators
Search
たい
May 24, 2024
Programming
0
29
Tadpole operators
たい
May 24, 2024
Tweet
Share
More Decks by たい
See All by たい
(自作の)プログラミング言語ができるまで
taiseiue
1
230
Other Decks in Programming
See All in Programming
CloudflareStack でRAGに入門
asahiiwm
0
140
サーバーゆる勉強会 DBMS の仕組み編
kj455
0
160
htmxって知っていますか?次世代のHTML
hiro_ghap1
0
390
KubeCon NA 2024の全DB関連セッションを紹介
nnaka2992
0
110
Scalaから始めるOpenFeature入門 / Scalaわいわい勉強会 #4
arthur1
1
380
rails newと同時に型を書く
aki19035vc
5
600
20年もののレガシープロダクトに 0からPHPStanを入れるまで / phpcon2024
hirobe1999
0
970
月刊 競技プログラミングをお仕事に役立てるには
terryu16
1
1k
歴史と現在から考えるスケーラブルなソフトウェア開発のプラクティス
i10416
0
240
PHPで学ぶプログラミングの教訓 / Lessons in Programming Learned through PHP
nrslib
4
1k
開発者とQAの越境で自動テストが増える開発プロセスを実現する
92thunder
1
220
毎日13時間もかかるバッチ処理をたった3日で60%短縮するためにやったこと
sho_ssk_
1
490
Featured
See All Featured
Being A Developer After 40
akosma
89
590k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
132
33k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
3
230
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
44
9.3k
How to train your dragon (web standard)
notwaldorf
88
5.8k
Building Adaptive Systems
keathley
38
2.3k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
112
50k
It's Worth the Effort
3n
183
28k
A designer walks into a library…
pauljervisheath
205
24k
Build The Right Thing And Hit Your Dates
maggiecrowley
33
2.5k
The Power of CSS Pseudo Elements
geoffreycrofte
74
5.4k
Transcript
Tadpole operators ⾮変インクリメント/デクリメント
Tadpole Operators†とは? • 副作⽤を起こさないインクリメント/デクリメントのこと • ⽇本語では⾮変インクリメント / ⾮変デクリメント • ⾒た⽬からtadpole(おたまじゃくし)演算⼦とも
値が書きかわらない 演算⼦ 同じ意味の式 意味 -~x X + 1 Xに向かって値が⼊って いくイメージ ~-x X - 1 Xから値が出ていく イメージ †https://devblogs.microsoft.com/oldnewthing/20150525-00/?p=45044
Tadpole Operators:利点 • 単項演算⼦なので優先順位が⾼い • (x + 1) * (x
- 1) なら -~x * ~-x と書ける • インクリメント/デクリメントと違い副作⽤がない
ネタバラシ シンキングタイムいる?
ネタバラシ • 本当は`~`(ビット反転)と`-`(符号反転)の組み合わせ • かっこで整理すると ‒(~x)、~(-x)に -(~x) == x+1 ~x
+ 1 == -x を常に満たす x + ~x + 1 == 0 X=5 0101 0011 Y=~X +1010 1100 Z=X+Y 1111 1111 α=Z+1 + 1 β 1 0000 0000 ビット 反転 移項 β α