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
120
バックアップしていますか?
tsudaahr
0
81
RDB以前のファイル設計の話でもしようか(ぇ
tsudaahr
0
86
NPUわからん
tsudaahr
0
140
計算量オーダーの話
tsudaahr
1
320
クラウド初学者が抱える不安について
tsudaahr
0
200
キューとは何か
tsudaahr
0
190
等幅は死んだ(ぇ
tsudaahr
0
59
いくら眺めてもエラーの理由がわからないコードについて
tsudaahr
0
140
Other Decks in Technology
See All in Technology
Oracle Database Technology Night #87-1 : Exadata Database Service on Exascale Infrastructure(ExaDB-XS)サービス詳細
oracle4engineer
PRO
1
180
ESXi で仮想化した ARM 環境で LLM を動作させてみるぞ
unnowataru
0
180
わたしがEMとして入社した「最初の100日」の過ごし方 / EMConfJp2025
daiksy
14
5k
Amazon Q Developerの無料利用枠を使い倒してHello worldを表示させよう!
nrinetcom
PRO
2
120
分解して理解する Aspire
nenonaninu
2
1.1k
スキルだけでは満たせない、 “組織全体に”なじむオンボーディング/Onboarding that fits “throughout the organization” and cannot be satisfied by skills alone
bitkey
0
180
データエンジニアリング領域におけるDuckDBのユースケース
chanyou0311
9
2.2k
RayでPHPのデバッグをちょっと快適にする
muno92
PRO
0
190
ABWG2024採択者が語るエンジニアとしての自分自身の見つけ方〜発信して、つながって、世界を広げていく〜
maimyyym
1
180
Exadata Database Service on Cloud@Customer セキュリティ、ネットワーク、および管理について
oracle4engineer
PRO
2
1.5k
株式会社Awarefy(アウェアファイ)会社説明資料 / Awarefy-Company-Deck
awarefy
3
11k
Autonomous Database Serverless 技術詳細 / adb-s_technical_detail_jp
oracle4engineer
PRO
17
45k
Featured
See All Featured
Done Done
chrislema
182
16k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
4
430
Statistics for Hackers
jakevdp
797
220k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
Typedesign – Prime Four
hannesfritz
40
2.5k
Designing for Performance
lara
604
68k
Code Review Best Practice
trishagee
67
18k
Why Our Code Smells
bkeepers
PRO
336
57k
Facilitating Awesome Meetings
lara
52
6.2k
Large-scale JavaScript Application Architecture
addyosmani
511
110k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
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進型
こちらからは以上です(汗 表示は違うけど中身は同じ、という例と、表示は同じだけど中身が違う、とい う例を説明してみました。