$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Tadpole operators
Search
taiseiue
May 24, 2024
Programming
0
61
Tadpole operators
taiseiue
May 24, 2024
Tweet
Share
More Decks by taiseiue
See All by taiseiue
“⾞が通れるほど⼤きな”セキュリティーホールを抑えながらログインしたい
taiseiue
0
280
Kotlinのデフォルト引数の話
taiseiue
0
69
.NETの上でお手製の言語を動かす技術
taiseiue
0
90
AIの力でお手軽Chrome拡張機能作り
taiseiue
0
370
振り向き美人
taiseiue
0
24
(自作の)プログラミング言語ができるまで
taiseiue
1
520
Other Decks in Programming
See All in Programming
React Native New Architecture 移行実践報告
taminif
1
160
これだけで丸わかり!LangChain v1.0 アップデートまとめ
os1ma
6
1.9k
組み合わせ爆発にのまれない - 責務分割 x テスト
halhorn
1
150
TUIライブラリつくってみた / i-just-make-TUI-library
kazto
1
390
【CA.ai #3】Google ADKを活用したAI Agent開発と運用知見
harappa80
0
320
AIコードレビューがチームの"文脈"を 読めるようになるまで
marutaku
0
360
チームをチームにするEM
hitode909
0
340
251126 TestState APIってなんだっけ?Step Functionsテストどう変わる?
east_takumi
0
320
20251212 AI 時代的 Legacy Code 營救術 2025 WebConf
mouson
0
180
ID管理機能開発の裏側 高速にSaaS連携を実現したチームのAI活用編
atzzcokek
0
230
DevFest Android in Korea 2025 - 개발자 커뮤니티를 통해 얻는 가치
wisemuji
0
150
ローターアクトEクラブ アメリカンナイト:川端 柚菜 氏(Japan O.K. ローターアクトEクラブ 会長):2720 Japan O.K. ロータリーEクラブ2025年12月1日卓話
2720japanoke
0
730
Featured
See All Featured
The Pragmatic Product Professional
lauravandoore
37
7.1k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.6k
Art, The Web, and Tiny UX
lynnandtonic
304
21k
Making the Leap to Tech Lead
cromwellryan
135
9.7k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.1k
Bash Introduction
62gerente
615
210k
Writing Fast Ruby
sferik
630
62k
[SF Ruby Conf 2025] Rails X
palkan
0
530
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.8k
Producing Creativity
orderedlist
PRO
348
40k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
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 ビット 反転 移項 β α