3 回答

TA貢獻1868條經(jīng)驗 獲得超4個贊
我懷疑,部分問題是圍繞這樣一個事實,即C中的無符號整數(shù)類型必須表現(xiàn)為抽象代數(shù)環(huán)的成員而不是數(shù)字[例如,如果無符號16位整數(shù)變量等于零, ,遞減則需要產(chǎn)生65,535,并且如果它等于65,535那么就需要產(chǎn)生零遞增。]有些時候,這種行為是非常有用的,但數(shù)字類型表現(xiàn)出這種行為可能已經(jīng)對一些語言的精神。我猜想,省略無符號類型的決定很可能早于支持選中和未選中的數(shù)字環(huán)境的決定。我個人希望無符號數(shù)和代數(shù)環(huán)有不同的整數(shù)類型。施加一元減號操作者無符號的32位的數(shù)字應產(chǎn)生一個64位有符號結果[否定除零以外的任何將產(chǎn)生一個負號],但施加一元減號到環(huán)型應該環(huán)內產(chǎn)生添加劑逆。
無論如何,無符號整數(shù)不符合CLS的原因是Microsoft決定語言不必為了支持“ CLS兼容”就必須支持無符號整數(shù)。

TA貢獻1802條經(jīng)驗 獲得超4個贊
在現(xiàn)實生活中,無符號int不會給您帶來太多好處,但是擁有不止一種int類型會給您帶來痛苦,因此許多語言只使用int。
符合CLS的目的是允許使用多種語言的課程…
請記住,沒有人能使您符合CLS。
您仍然可以在方法內使用無符號整數(shù),也可以將其用作私有方法的參數(shù),因為它僅是CLS兼容限制的公共API。
- 3 回答
- 0 關注
- 667 瀏覽
添加回答
舉報