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
19
16進数は何型
16進数の数値を変数に格納したい、という初心者にありがちな勘違い(?)について説明してみました。
tsuda.a
January 31, 2024
Tweet
Share
More Decks by tsuda.a
See All by tsuda.a
マジカルインクリメントと指数表記
tsudaahr
0
130
バックアップしていますか?
tsudaahr
0
84
RDB以前のファイル設計の話でもしようか(ぇ
tsudaahr
0
87
NPUわからん
tsudaahr
0
140
計算量オーダーの話
tsudaahr
1
330
クラウド初学者が抱える不安について
tsudaahr
0
200
キューとは何か
tsudaahr
0
190
等幅は死んだ(ぇ
tsudaahr
0
63
いくら眺めてもエラーの理由がわからないコードについて
tsudaahr
0
150
Other Decks in Technology
See All in Technology
AI自体のOps 〜LLMアプリの運用、AWSサービスとOSSの使い分け〜
minorun365
PRO
9
1.1k
OPENLOGI Company Profile
hr01
0
60k
フォーイット_エンジニア向け会社紹介資料_Forit_Company_Profile.pdf
forit_tech
1
1.7k
入門 PEAK Threat Hunting @SECCON
odorusatoshi
0
180
エンジニアのキャリアパスと、 その中で自分が大切にしていること
noteinc
3
360
クラウド関連のインシデントケースを収集して見えてきたもの
lhazy
9
2k
プロダクト開発者目線での Entra ID 活用
sansantech
PRO
0
140
大規模アジャイルフレームワークから学ぶエンジニアマネジメントの本質
staka121
PRO
3
1.7k
JavaにおけるNull非許容性
skrb
2
2.7k
MIMEと文字コードの闇
hirachan
2
1.5k
サバイバルモード下でのエンジニアリングマネジメント
konifar
22
7.4k
Apache Iceberg Case Study in LY Corporation
lycorptech_jp
PRO
0
380
Featured
See All Featured
The Art of Programming - Codeland 2020
erikaheidi
53
13k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
100
18k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
Testing 201, or: Great Expectations
jmmastey
42
7.2k
Designing for Performance
lara
605
68k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
11
1.3k
How STYLIGHT went responsive
nonsquared
99
5.4k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
30
2.3k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.2k
Reflections from 52 weeks, 52 projects
jeffersonlam
348
20k
Making the Leap to Tech Lead
cromwellryan
133
9.1k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
33
2.8k
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進型
こちらからは以上です(汗 表示は違うけど中身は同じ、という例と、表示は同じだけど中身が違う、とい う例を説明してみました。