Re: [問題] short整數資料overflow解決方式

看板C_Sharp (C#)作者 (sec2)時間2年前 (2022/07/24 14:55), 編輯推噓1(105)
留言6則, 3人參與, 2年前最新討論串2/5 (看更多)
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

07/24 22:46, 2年前 , 1F
溢位是破壞性的,65535溢位成-1,131071也溢位成-1,所以由-1
07/24 22:46, 1F

07/24 22:46, 2年前 , 2F
反推不一定是正確的
07/24 22:46, 2F

07/25 10:17, 2年前 , 3F
原生 API 就是只回傳 short,不存在 131071 這種問題
07/25 10:17, 3F

07/26 21:35, 2年前 , 4F
謝謝大大,幫我解決超過32767的overflow問題,65535內
07/26 21:35, 4F

07/26 21:36, 2年前 , 5F
都是正常,但超過65535就重1開始了...變成65535的
07/26 21:36, 5F

07/26 21:37, 2年前 , 6F
overflow,但我有在網路上找到答案了
07/26 21:37, 6F
文章代碼(AID): #1YtEpFZI (C_Sharp)
文章代碼(AID): #1YtEpFZI (C_Sharp)