Re: [問題] short整數資料overflow解決方式
※ 引述《sec2 (sec2)》之銘言:
: 標題: Re: [問題] short整數資料overflow解決方式
: 時間: Sun Jul 24 14:55:09 2022
:
: short a = -1;
:
: var b = BitConverter.GetBytes(a);
:
: var c = BitConverter.ToUInt16(b);
:
: c 應該就是你要的了 (=65535)
:
: --
: ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.110.213.245 (臺灣)
: ※ 文章網址: https://www.ptt.cc/bbs/C_Sharp/M.1658645711.A.8D2.html
: → t64141: 溢位是破壞性的,65535溢位成-1,131071也溢位成-1,所以由-1 07/24 22:46
: → t64141: 反推不一定是正確的 07/24 22:46
: → sec2: 原生 API 就是只回傳 short,不存在 131071 這種問題 07/25 10:17
今天找時間翻了一下 MX Component Programming Manual
https://dl.mitsubishielectric.com/dl/fa/document/manual/plc/sh081085eng/sh081085engs.pdf
https://bit.ly/3BeBAvS
若是原 PO 所述使用 Act 方式呼叫 ReadDeviceRandom2 的話
原生 API 的確只能回傳 short 2-byte 的資料
但如果使用 ReadDeviceRandom 而非 ReadDeviceRandom2 的話
原生 API 是可以回傳 int (4-byte) array 的
可能要等原 PO 試試看囉
我手上沒有相關裝置
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.110.213.245 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/C_Sharp/M.1658717077.A.D62.html
※ 編輯: sec2 (140.110.213.245 臺灣), 07/25/2022 10:56:09
推
07/25 16:18,
2年前
, 1F
07/25 16:18, 1F
→
07/25 16:18,
2年前
, 2F
07/25 16:18, 2F
→
07/26 21:39,
2年前
, 3F
07/26 21:39, 3F
→
07/26 21:39,
2年前
, 4F
07/26 21:39, 4F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 5 篇):
C_Sharp 近期熱門文章
PTT數位生活區 即時熱門文章