Re: [問題] Java真的沒有unsigned primitive type嗎
※ 引述《godfat.bbs@ptt.cc (godfat 真常)》之銘言:
: ※ 引述《H45 (!H45)》之銘言:
: : 雖然你說得很有道理,確實應該使用最小的記憶體空間來做到相同的事情
: : 但是這和 unsigned 有什麼關係?
: : 我記得 unsigned 並沒辦法得到較小的記憶體空間
: : 能否請教如何使用 unsigned 來得到較小的記憶體空間呢?
: @@
: 範圍變大一倍,怎麼不會省記憶體?
: 假設你需要 0~255, 沒有 unsigned, 就不能只用 1 byte 去存了
: 原本 unsigned int 可以做到的事,變成要用 long
: 或是要自己試著模擬出 unsigned? 那也未免太麻煩了
: 有些需要大量使用的東西,能省記憶體還是省點好,因為一次就差一倍
: 各種奇怪的 hack 就別拿出來討論了,很麻煩,能直接支援的還是直接支援好
: 記得 unsigned 在 java 開發初期備受討論,最後還是拿掉了
: 上次看到有個談 java 開發歷史寫的,出處忘了
: 不過有時候我也會覺得,反正都用 java 了,就別太計較了 :o
: 要計較還是用 C/C++ 比較容易
經過上面兩篇的解釋,我想我已經知道自己的盲點在哪裡了。
本來我一直以為 unsigned int 和普通的 int 存的東西一模一樣
只是最後 scale 的時候一個調到 0 以上,另一個則調到 -XXX ~ YYY 之間
但是這樣完全忘了另一個重要的元素:運算子
unsigned int 的運算子和 int 的運算子實作上不太一樣
舉例而言,乘法和除法在這兩者的運算是完全不同的
而加法和減法則沒有影響。
在此感謝各位先進為我解惑。
--
〒作者:H45 來自:60-248-127-91.HINET-IP.hinet.net
◎二進位的世界【140.115.50.50‧bbs.ncu.cc】
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 10 之 11 篇):