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
10
16進数は何型
16進数の数値を変数に格納したい、という初心者にありがちな勘違い(?)について説明してみました。
tsuda.a
January 31, 2024
Tweet
Share
More Decks by tsuda.a
See All by tsuda.a
バックアップしていますか?
tsudaahr
0
53
RDB以前のファイル設計の話でもしようか(ぇ
tsudaahr
0
61
NPUわからん
tsudaahr
0
110
計算量オーダーの話
tsudaahr
1
290
クラウド初学者が抱える不安について
tsudaahr
0
160
キューとは何か
tsudaahr
0
160
等幅は死んだ(ぇ
tsudaahr
0
33
いくら眺めてもエラーの理由がわからないコードについて
tsudaahr
0
110
何のために文字数をカウントするのか?
tsudaahr
0
42
Other Decks in Technology
See All in Technology
DynamoDB でスロットリングが発生したとき_大盛りver/when_throttling_occurs_in_dynamodb_long
emiki
1
450
"とにかくやってみる"で始めるAWS Security Hub
maimyyym
2
100
LINEヤフーにおけるPrerender技術の導入とその効果
narirou
1
160
EventHub Startup CTO of the year 2024 ピッチ資料
eventhub
0
130
IBC 2024 動画技術関連レポート / IBC 2024 Report
cyberagentdevelopers
PRO
1
120
[CV勉強会@関東 ECCV2024 読み会] オンラインマッピング x トラッキング MapTracker: Tracking with Strided Memory Fusion for Consistent Vector HD Mapping (Chen+, ECCV24)
abemii
0
230
初心者向けAWS Securityの勉強会mini Security-JAWSを9ヶ月ぐらい実施してきての近況
cmusudakeisuke
0
130
個人でもIAM Identity Centerを使おう!(アクセス管理編)
ryder472
4
240
OCI Vault 概要
oracle4engineer
PRO
0
9.7k
Oracle Cloud Infrastructureデータベース・クラウド:各バージョンのサポート期間
oracle4engineer
PRO
29
13k
100 名超が参加した日経グループ横断の競技型 AWS 学習イベント「Nikkei Group AWS GameDay」の紹介/mediajaws202411
nikkei_engineer_recruiting
1
170
オープンソースAIとは何か? --「オープンソースAIの定義 v1.0」詳細解説
shujisado
10
1.3k
Featured
See All Featured
Reflections from 52 weeks, 52 projects
jeffersonlam
346
20k
Keith and Marios Guide to Fast Websites
keithpitt
409
22k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
47
2.1k
Optimizing for Happiness
mojombo
376
70k
The Art of Programming - Codeland 2020
erikaheidi
52
13k
10 Git Anti Patterns You Should be Aware of
lemiorhan
655
59k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
169
50k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
4
380
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.3k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
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進型
こちらからは以上です(汗 表示は違うけど中身は同じ、という例と、表示は同じだけど中身が違う、とい う例を説明してみました。