Slide 1

Slide 1 text

খ਺ͷؙΊޡࠩͷ࿩ Niigata 5min Tech #10 @circled9 1

Slide 2

Slide 2 text

ࣗݾ঺հ @circled9 দҪɹਖ਼ࢤ / Matsui Masashi גࣜձࣾϞχΫϧ جຊ৘ใٕज़ऀͷࢿ֨͸͋Γ·͕͢ هԱ͸͋Γ·ͤΜ 2

Slide 3

Slide 3 text

ࠓ೔͸খ਺ͷؙΊޡࠩͷ࿩Λ͠·͢ 3

Slide 4

Slide 4 text

Node.js 4

Slide 5

Slide 5 text

Ͳ͏ͯ͠ʁ • ଟ͘ͷϓϩάϥϛϯάݴޠ͸ɺ಺෦తʹ਺஋Λೋਐ਺Ͱѻ͍ͬͯΔ • ेਐ਺ͷখ਺Λೋਐ਺ʹม׵͢Δͱޡ͕ࠩੜ͡Δ৔߹͕͋Δ • Ή͠Ζޡ͕ࠩग़ͳ͍ํ͕গͳ͍ͷͰ͸...? 5

Slide 6

Slide 6 text

ेਐ਺ͷখ਺Λೋਐ਺Ͱද͢ͷ͸೉͍͠ • ೋਐ਺ͷ੔਺ͷNܻ໨͸2ͷN-1৐ͷ஋ 1 1 1 1 = 15 8 4 2 1 • Ұํɺೋਐ਺ͷখ਺ͷNܻ໨͸2ͷϚΠφεN-1৐ͷ஋ 0. 1 1 1 = 0.5 + 0.25 + 0.125 = 0.875 1 1/2 1/4 1/8 • 2ͷϚΠφεN৐ͷ૊Έ߹ΘͤͰਖ਼֬ʹදݱͰ͖Δ஋ʹ͸ݶք͕͋Δ 6

Slide 7

Slide 7 text

Node.js 7

Slide 8

Slide 8 text

Ͳ͏͢Ε͹ޡࠩΛ๷͛Δ͔ • খ਺ͷܭࢉΛͯ͠΋େৎ෉ͳܕͳͲΛ࢖͏ • খ਺Ͱ͸ͳ͘੔਺ͷܭࢉʹ͢Δ 8

Slide 9

Slide 9 text

খ਺ͷܭࢉΛͯ͠΋େৎ෉ͳܕͳͲΛ࢖͏ • C#ͷ৔߹͸decimalܕ͕͋Δ • Pythonͷ৔߹͸decimalϞδϡʔϧ͕͋Δ • JavaScriptͷ৔߹͸big.jsͳͲͷϥΠϒϥϦ͕͋Δ 9

Slide 10

Slide 10 text

Python 10

Slide 11

Slide 11 text

খ਺Ͱ͸ͳ͘੔਺ͷܭࢉʹ͢Δ • ܭࢉ͢Δલʹ੔਺ʹͯ͠ɺܭࢉޙʹখ਺ʹ໭͢ • ྫ͑͹100Λ͔͚ͯɺ࠷ޙʹ100ͰׂΔ • ((0.1 * 100) + (0.2 * 100)) / 100 • ͜ͷ৔߹ɺܭࢉର৅ͷ஋ͷܻ਺Λؾʹ͢Δඞཁ͕͋Δ 11

Slide 12

Slide 12 text

Node.js 12

Slide 13

Slide 13 text

·ͱΊ • ଟ͘ͷϓϩάϥϛϯάݴޠͰ͸ɺখ਺ͷܭࢉͰޡ͕ࠩൃੜ͢Δ • ޡࠩΛग़͞ͳ͍Α͏ʹ͢Δʹ͸ద੾ͳରԠΛ͢Δඞཁ͕͋Δ 13

Slide 14

Slide 14 text

ଟ͘ͷϓϩάϥϛϯάݴޠʁ 14

Slide 15

Slide 15 text

খ਺ͷܭࢉͰޡࠩͷग़ͳ͍ϓϩάϥϛϯάݴޠ • COBOL • Ada • MSX-BASIC • etc... ਺஋දݱʹBCDΛ࢖͏ͷ͕ϙΠϯτͬΆ͍ 15

Slide 16

Slide 16 text

BCD • Binary-Coded DecimalɺೋਐԽेਐ਺ • ೋਐ਺͸4ܻ͋Ε͹0͔Β15·Ͱͷ਺஋ΛදͤΔͷͰɺ0͔Β9Λ࢖ͬ ͯेਐ਺ͷҰܻ෼Λදݱ͢Δ • ྫ͑͹ेਐ਺ͷ26͸ɺBCDͰ 0010 0110 ʹͳΔ • BCD͸جຊ৘ใٕज़ऀࢼݧͷࢼݧൣғʹؚ·Ε͍ͯΔ 16

Slide 17

Slide 17 text

BCD͸جຊ৘ใٕज़ऀࢼݧͷ ࢼݧൣғʹؚ·Ε͍ͯΔ 17

Slide 18

Slide 18 text

׬શʹ๨Εͯͨͱ͍͏͔ ֮͑ͨهԱ͢Βͳ͍😇 18

Slide 19

Slide 19 text

Goݴޠ 19

Slide 20

Slide 20 text

20

Slide 21

Slide 21 text

https://go.dev/ref/spec#Constant_expressions υΩϡϝϯτᐌ͘ ఆ਺ࣜ͸ৗʹਖ਼֬ʹධՁ͞Ε·͢ Constant expressions are always evaluated exactly; 21

Slide 22

Slide 22 text

22

Slide 23

Slide 23 text

͓͠·͍ 23

Slide 24

Slide 24 text

ࢀߟࢿྉ • খ਺఺Λѻ͏ͳΒBCDΛ࠾༻͍ͯ͠Δݴޠ͕ѹ౗త • https://qiita.com/ma2shita/items/d8aeec9e2921dc3536f4 24