日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

计算机原理及基础 —— 有符号类型和无符号类型

發(fā)布時間:2025/10/17 编程问答 10 豆豆
生活随笔 收集整理的這篇文章主要介紹了 计算机原理及基础 —— 有符号类型和无符号类型 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1、是否需要有正負。

如果這個量不會有負值,那么我們可以使用無正負的類型。

分正負的類型,稱為有符號類型;無正負的類型(只有正值),稱為無符號類型。

2、使用二制數(shù)中的最高位表示正負。

(紅色為最高位)

單字節(jié)數(shù):?1111 1111

雙字節(jié)數(shù):?1111 1111 1111 1111

四字節(jié)數(shù):?1111 1111 1111 1111 1111 1111 1111 1111

 

當一個數(shù)是無符號類型時,那么其最高位的1或0,和其它位一樣,用來表示該數(shù)的大小。

當一個數(shù)是有符號類型時,最高數(shù)稱為“符號位”。為1時,表示該數(shù)為負值,為0時表示為正值。

 

3、無符號類型和有符號類型的范圍區(qū)別。

無符號類型中,所有的位都用于直接表示該值的大小。我們舉一個字節(jié)的數(shù)值對比:

無符號類型: 1111 1111???值:255 ???????1* 27?+ 1* 26?+ 1* 25?+ 1* 24?+ 1* 23?+ 1* 22?+ 1* 21?+ 1* 20

有符號類型: 0111 1111???值:127 ???????????????????1* 26?+ 1* 25?+ 1* 24?+ 1* 23?+ 1* 22?+ 1* 21?+ 1* 20

 

同樣是一個字節(jié),無符號類型的最大值是255,而有符號類型的最大值是127。原因是有符號類型中的最高位被挪去表示符號了。

有符號類型的長處是它可以表示負數(shù)。雖然它的在最大值縮水了,卻在負值的方向出現(xiàn)了伸展。我們?nèi)杂靡粋€字節(jié)的數(shù)值對比:

無符號類型: ???????????????????????????0 -----------------------------255

有符號類型:????????-128 --------- 0 ---------- 127

 

二者能表達的數(shù)值的個數(shù)都是256個。無符號類型表達的是 0~255 這256個數(shù),有符號類型表達的是 -128 ~ 127這256個數(shù)。

有符號類型的負數(shù)使用補碼表示。

?

?4. 原碼、反碼、補碼

有 int 類型的數(shù),值為5,那么,我們知道它在計算機中表示為:

00000000 00000000 00000000 00000101

如果是?-5,在計算機中如何表示? ???負數(shù)以補碼表達。

 

(1)原碼:一個整數(shù),按照絕對值轉換成的二進制數(shù),稱為原碼。

比如 00000000 00000000 00000000 00000101 是5和-5?的原碼。

 

(2)反碼:原碼按位取反,就是反碼。

取反操作指:1變0; 0變1

00000101每一位取反,得11111010。

 

(3)補碼:補碼=反碼+1。

00000101 的反碼是:11111010。

補碼 = 11111010 + 1 = 11111011

-5在計算機中表達為:11111011。轉換為十六進制:0xFB。

 

我們來看int型整數(shù)-1在計算機中如何表示:

1、先得原碼: ?00000001

2、得反碼: ????11111110

3、得補碼: ????11111111

-1在計算機里用二進制表達就是全1。16進制為:0xFF。

?

====================================參考=========================================

1. 補碼表:

二進制值(1字節(jié))?? ?十進制值
1000 0000?? ?-128
1000 0001?? ?-127
1000 0010?? ?-126
1000 0011?? ?-125
...?? ?...
1111 1110?? ?-2
1111 1111?? ?-1
 

-1是最大的負整數(shù)。

1111 1111 - 1 =?1111 1110,而1111 1110就是-2。

這樣一直減下去,當減到只剩最高位用于表示符號的1以外,其它低位全為0時,就是最小的負值了,最小的負值是1000 0000,也就是-128。

2. 不同字節(jié)數(shù)的整數(shù)中,如何表達-1這個數(shù):

字節(jié)數(shù)?? ?二進制值?? ?十進制值
單字節(jié)數(shù)?? ?1111 1111?? ?-1
雙字節(jié)數(shù)?? ?1111 1111 1111 1111?? ?-1
四字節(jié)數(shù)?? ?1111 1111 1111 1111 1111 1111 1111 1111?? ?-1

參考連接 : https://blog.csdn.net/android_bar/article/details/76571925?
?

總結

以上是生活随笔為你收集整理的计算机原理及基础 —— 有符号类型和无符号类型的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。