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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
taiseiue
May 24, 2024
Programming
76
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Tadpole operators
taiseiue
May 24, 2024
More Decks by taiseiue
See All by taiseiue
RustでもVJしたい!
taiseiue
0
60
“⾞が通れるほど⼤きな”セキュリティーホールを抑えながらログインしたい
taiseiue
0
400
Kotlinのデフォルト引数の話
taiseiue
0
96
.NETの上でお手製の言語を動かす技術
taiseiue
0
110
AIの力でお手軽Chrome拡張機能作り
taiseiue
0
440
振り向き美人
taiseiue
0
35
(自作の)プログラミング言語ができるまで
taiseiue
1
640
Other Decks in Programming
See All in Programming
ローカルLLMを使ってB2Bサービスを作っていての学び
yaotti
0
170
Honoでのサプライチェーン侵害対策 〜 3つのライブラリに学ぶ
yusukebe
6
1.1k
Spec Driven Development | AI Summit Lisbon
danielsogl
PRO
0
190
正しくソフトウェアを作る、前提を疑うための認知の視点 / doubt-premise
minodriven
21
6.6k
Make SRE Operations Easier with Azure SRE Agent
kkamegawa
0
6.1k
「AIで開発し、AIを届ける」をEvalでつなぐ 〜AIネイティブに始めるプロダクト開発の実践〜 / Connecting "Develop with AI, deliver AI" with Eval
rkaga
4
5.1k
Snowflake Summitでの新機能 CoCo / CoWork / snowflake-summit-2026-overall-what-new-coco
tatsuhiro
1
140
JJUG CCC 2026 Spring: JSpecify で実現する Kotlin フレンドリーな Java API 設計
ternbusty
1
170
Webフレームワークの ベンチマークについて
yusukebe
0
170
PHPで使える日時の表現と、その知り方 #frontend_phpcon_do
o0h
PRO
0
240
Java × distroless で 軽量なコンテナイメージを / Java on Distroless
contour_gara
0
540
Vue × Nuxt × Oxc どこまで使える?実運用の現在地
andpad
0
250
Featured
See All Featured
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
Become a Pro
speakerdeck
PRO
31
6k
Navigating Weather and Climate Data
rabernat
0
220
sira's awesome portfolio website redesign presentation
elsirapls
0
280
Game over? The fight for quality and originality in the time of robots
wayneb77
1
200
Evolving SEO for Evolving Search Engines
ryanjones
0
220
The Pragmatic Product Professional
lauravandoore
37
7.3k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
55k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.5k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
310
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
1.1k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
840
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 ビット 反転 移項 β α