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
2
16進数は何型
16進数の数値を変数に格納したい、という初心者にありがちな勘違い(?)について説明してみました。
tsuda.a
January 31, 2024
Tweet
Share
More Decks by tsuda.a
See All by tsuda.a
キューとは何か
tsudaahr
0
90
等幅は死んだ(ぇ
tsudaahr
0
19
いくら眺めてもエラーの理由がわからないコードについて
tsudaahr
0
39
何のために文字数をカウントするのか?
tsudaahr
0
15
文字 is 何?
tsudaahr
0
44
全銀トラブルとC言語とバッファオーバーフロー
tsudaahr
0
18
ライトワンスは改ざん防止の夢を見るか?
tsudaahr
0
5
Python自作シリアライズ
tsudaahr
0
42
Python から.net DLL を呼び出す
tsudaahr
0
580
Other Decks in Technology
See All in Technology
LLM開発・活用の舞台裏@2024.04.25
yushin_n
3
1.3k
家族アルバム みてねにおけるGrafana活用術 / Grafana Meetup Japan Vol.1 LT
isaoshimizu
1
1k
KubeConにproposalを送りたい人へのアドバイス
sat
PRO
3
270
M5と自作基板をくっつけてみた〜M5 Japan Tour 2024 Spring 福冈 (Fukuoka|福岡)〜
keropiyo
0
150
TechFeed Experts Night#27 〜 フロントエンドフレームワーク最前線 (Svelte)
baseballyama
2
590
Amplify 🩷 Bedrock 〜生成AI入門〜
minorun365
PRO
8
780
Babylon.js JAPAN活動紹介 (2024/4)
limes2018
1
120
エンジニア候補者向け資料2024.04.24.pdf
macloud
0
3.4k
Cracking the KubeCon CfP
inductor
2
270
よく聞くけど使ったことないソフトウェアNo.1 KafkaとSnowflake
foursue
4
510
Building a RAG-poweredAI chat appwith Python and VS Code
pamelafox
0
160
Gitlab本から学んだこと - そーだいなるプレイバック / gitlab-book
soudai
7
1.3k
Featured
See All Featured
What’s in a name? Adding method to the madness
productmarketing
PRO
17
2.7k
Optimising Largest Contentful Paint
csswizardry
12
2.4k
Mobile First: as difficult as doing things right
swwweet
217
8.6k
Designing on Purpose - Digital PM Summit 2013
jponch
111
6.5k
Practical Orchestrator
shlominoach
183
9.7k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
33
6k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
21
1.9k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
21
1.4k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
11
1k
Testing 201, or: Great Expectations
jmmastey
30
6.4k
The Brand Is Dead. Long Live the Brand.
mthomps
49
29k
Adopting Sorbet at Scale
ufuk
69
8.6k
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進型
こちらからは以上です(汗 表示は違うけど中身は同じ、という例と、表示は同じだけど中身が違う、とい う例を説明してみました。