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
taiseiue
May 24, 2024
Programming
70
0
Share
Tadpole operators
taiseiue
May 24, 2024
More Decks by taiseiue
See All by taiseiue
“⾞が通れるほど⼤きな”セキュリティーホールを抑えながらログインしたい
taiseiue
0
370
Kotlinのデフォルト引数の話
taiseiue
0
87
.NETの上でお手製の言語を動かす技術
taiseiue
0
100
AIの力でお手軽Chrome拡張機能作り
taiseiue
0
420
振り向き美人
taiseiue
0
29
(自作の)プログラミング言語ができるまで
taiseiue
1
610
Other Decks in Programming
See All in Programming
Claude Code × Gemini × Ebitengine ゲーム制作素人WebエンジニアがGoでゲームを作った話
webzawa
0
160
瑠璃の宝石に学ぶ技術の声の聴き方 / 【劇場版】アニメから得た学びを発表会2026 #エンジニアニメ
mazrean
0
290
感情を設計する
ichimichi
5
1.6k
ドメインイベントでビジネスロジックを解きほぐす #phpcon_odawara
kajitack
3
800
ハーネスエンジニアリングにどう向き合うか 〜ルールファイルを超えて開発プロセスを設計する〜 / How to approach harness engineering
rkaga
24
14k
Angular Signal Forms
debug_mode
0
120
Kingdom of the Machine
yui_knk
2
910
Going Multiplatform with Your Android App (Android Makers 2026)
zsmb
2
450
UIの境界線をデザインする | React Tokyo #15 メイントーク
sasagar
2
380
iOS機能開発のAI環境と起きた変化
ryunakayama
0
190
検索設計から 推論設計への重心移動と Recall-First Retrieval
po3rin
4
1.1k
Offline should be the norm: building local-first apps with CRDTs & Kotlin Multiplatform
renaudmathieu
0
230
Featured
See All Featured
Documentation Writing (for coders)
carmenintech
77
5.3k
Building Flexible Design Systems
yeseniaperezcruz
330
40k
Discover your Explorer Soul
emna__ayadi
2
1.1k
sira's awesome portfolio website redesign presentation
elsirapls
0
220
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
A Modern Web Designer's Workflow
chriscoyier
698
190k
Heart Work Chapter 1 - Part 1
lfama
PRO
6
35k
Claude Code のすすめ
schroneko
67
220k
How STYLIGHT went responsive
nonsquared
100
6.1k
Everyday Curiosity
cassininazir
0
200
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
200
Game over? The fight for quality and originality in the time of robots
wayneb77
1
160
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 ビット 反転 移項 β α