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
82
RDB以前のファイル設計の話でもしようか(ぇ
tsudaahr
0
87
NPUわからん
tsudaahr
0
140
計算量オーダーの話
tsudaahr
1
330
クラウド初学者が抱える不安について
tsudaahr
0
200
キューとは何か
tsudaahr
0
190
等幅は死んだ(ぇ
tsudaahr
0
60
いくら眺めてもエラーの理由がわからないコードについて
tsudaahr
0
140
Other Decks in Technology
See All in Technology
いまからでも遅くない!コンテナでWebアプリを動かしてみよう!コンテナハンズオン編
nomu
0
170
Ruby on Railsで持続可能な開発を行うために取り組んでいること
am1157154
3
160
日経のデータベース事業とElasticsearch
hinatades
PRO
0
260
大規模アジャイルフレームワークから学ぶエンジニアマネジメントの本質
staka121
PRO
3
1.4k
Change Managerを活用して本番環境へのセキュアなGUIアクセスを統制する / Control Secure GUI Access to the Production Environment with Change Manager
yuj1osm
0
110
【詳説】コンテンツ配信 システムの複数機能 基盤への拡張
hatena
0
280
OPENLOGI Company Profile
hr01
0
60k
ディスプレイ広告(Yahoo!広告・LINE広告)におけるバックエンド開発
lycorptech_jp
PRO
0
500
Introduction to OpenSearch Project - Search Engineering Tech Talk 2025 Winter
tkykenmt
2
150
わたしがEMとして入社した「最初の100日」の過ごし方 / EMConfJp2025
daiksy
14
5.3k
Amazon Aurora のバージョンアップ手法について
smt7174
2
180
Amazon Q Developerの無料利用枠を使い倒してHello worldを表示させよう!
nrinetcom
PRO
2
120
Featured
See All Featured
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
4
440
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
The Cult of Friendly URLs
andyhume
78
6.2k
KATA
mclloyd
29
14k
Building Applications with DynamoDB
mza
93
6.2k
Automating Front-end Workflow
addyosmani
1369
200k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
10
520
Done Done
chrislema
182
16k
Building Your Own Lightsaber
phodgson
104
6.2k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Testing 201, or: Great Expectations
jmmastey
42
7.2k
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進型
こちらからは以上です(汗 表示は違うけど中身は同じ、という例と、表示は同じだけど中身が違う、とい う例を説明してみました。