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
16進数は何型
Search
tsuda.a
January 31, 2024
Technology
0
15
16進数は何型
16進数の数値を変数に格納したい、という初心者にありがちな勘違い(?)について説明してみました。
tsuda.a
January 31, 2024
Tweet
Share
More Decks by tsuda.a
See All by tsuda.a
マジカルインクリメントと指数表記
tsudaahr
0
95
バックアップしていますか?
tsudaahr
0
64
RDB以前のファイル設計の話でもしようか(ぇ
tsudaahr
0
72
NPUわからん
tsudaahr
0
130
計算量オーダーの話
tsudaahr
1
310
クラウド初学者が抱える不安について
tsudaahr
0
180
キューとは何か
tsudaahr
0
170
等幅は死んだ(ぇ
tsudaahr
0
45
いくら眺めてもエラーの理由がわからないコードについて
tsudaahr
0
120
Other Decks in Technology
See All in Technology
事業貢献を考えるための技術改善の目標設計と改善実績 / Targeted design of technical improvements to consider business contribution and improvement performance
oomatomo
0
180
20241125 - AI 繪圖實戰魔法工作坊 @ 實踐大學
dpys
1
370
いまからでも遅くないコンテナ座学
nomu
0
170
.NET 9 のパフォーマンス改善
nenonaninu
0
1.8k
20241218_今年はSLI/SLOの導入を頑張ってました!
zepprix
0
220
[トレノケ雲の会 mod.13] 3回目のre:Inventで気づいたこと -CloudOperationsを添えて-
shintaro_fukatsu
0
120
10個のフィルタをAXI4-Streamでつなげてみた
marsee101
0
190
Web APIをなぜつくるのか
mikanichinose
0
1.2k
10年もののバグを退治した話
n_seki
0
120
AIエージェントに脈アリかどうかを分析させてみた
sonoda_mj
2
120
OPENLOGI Company Profile for engineer
hr01
1
17k
AWS re:Invent 2024 recap
hkoketsu
0
710
Featured
See All Featured
Rails Girls Zürich Keynote
gr2m
94
13k
Automating Front-end Workflow
addyosmani
1366
200k
Documentation Writing (for coders)
carmenintech
67
4.5k
Build The Right Thing And Hit Your Dates
maggiecrowley
33
2.4k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
3
310
Rebuilding a faster, lazier Slack
samanthasiow
79
8.7k
How STYLIGHT went responsive
nonsquared
96
5.2k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
Writing Fast Ruby
sferik
628
61k
Bash Introduction
62gerente
609
210k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.9k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
830
Transcript
16進数は何型? LTDD 2024-1 #1 すごい広島558 with IT初心者の会 @tsuda_ahr
定期的に聞く問い。 • 16進数って何型ですか?
問いの前に・・・ • 16進数って何かわかりますか? • 型って何かわかりますか?
答え)16進数は型ではありません。 • では何か? → 表示形式です。
型と表示形式は何が違うのか? • 内部表現が同じかどうか。
たとえば 27 は? • 10進 では 27 • 16進 では
1B • 2進 では 11011 • Base 64 では b
だけれども内部表現は一緒 • 27 の場合、Int16 で表すと、どの表現でも内部表現は 0x001b。 • なので、27 を代入しても 0x1b
を代入しても、出力結果は同じになる。 Python での例
現実世界に例えると • 単位の変換に似ている。 (以下はすべて同じ圧力を示しています) 1 kgf/cm2 980.665 hPa 735.561 mmHg
10000 mmH2O
なんだけれども • 初心者が陥りがちな罠として、16進数で代入するけど、10進に自動変換さ れてしまって(?)、混乱することがあります。 • そんなとき、引用符で囲むと 16 進で代入できるので(?)、そうしてしまった りします。 Javascript
での例 なぜか 10 進になる 引用符で囲めば 16 進で代入できる?
そして • 代入はいいけど、演算すると期待したものと違うものが出力されるので 困ったりします(汗 なぜか 10 進になる ?????
なので • 16 進数 と 10 進数は表示の仕方が違うだけで、中身は同じものです。 • 16 進数は数値であり、文字列ではありません。
(なので引用符で囲まないでください)
ところで「型が違う」とは? • 例えば以下はそれぞれ 0.1 を代入していますが、型(内部表現)が違います。 単精度実数型(32bit) 倍精度実数型(64bit) 10進型
比較してみる • たとえば比較すると、同じ値のはずなのに違う値として評価される場合があ ります。 $a>$b が True なので、$a と $b
が同じ値でない。
1000 回足してみる • 1000 回くらい足すと結果の違いが見えたりします。 単精度実数型(32bit) 倍精度実数型(64bit) 10進型
こちらからは以上です(汗 表示は違うけど中身は同じ、という例と、表示は同じだけど中身が違う、とい う例を説明してみました。