日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

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

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

1、是否需要有正負。

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

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

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

(紅色為最高位)

單字節數:?1111 1111

雙字節數:?1111 1111 1111 1111

四字節數:?1111 1111 1111 1111 1111 1111 1111 1111

 

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

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

 

3、無符號類型和有符號類型的范圍區別。

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

無符號類型: 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

 

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

有符號類型的長處是它可以表示負數。雖然它的在最大值縮水了,卻在負值的方向出現了伸展。我們仍用一個字節的數值對比:

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

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

 

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

有符號類型的負數使用補碼表示。

?

?4. 原碼、反碼、補碼

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

00000000 00000000 00000000 00000101

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

 

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

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

 

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

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

00000101每一位取反,得11111010。

 

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

00000101 的反碼是:11111010。

補碼 = 11111010 + 1 = 11111011

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

 

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

1、先得原碼: ?00000001

2、得反碼: ????11111110

3、得補碼: ????11111111

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

?

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

1. 補碼表:

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

-1是最大的負整數。

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

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

2. 不同字節數的整數中,如何表達-1這個數:

字節數?? ?二進制值?? ?十進制值
單字節數?? ?1111 1111?? ?-1
雙字節數?? ?1111 1111 1111 1111?? ?-1
四字節數?? ?1111 1111 1111 1111 1111 1111 1111 1111?? ?-1

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

總結

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

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。