[英]Range of data type in cpp
在我研究過的一些地方,在有符號數據類型中,一位用於符號,所以在這種情況下,char 類型的正值是 127,因為可以以二進制形式寫入 + 1111111,所以在負值時,它也應該取值 -127 作為 -1111111但它是-128 為什么?
讓我們創建一個簡單的表格,一個可以用兩位而不是八位表示的所有數字的列表。 一位仍用於符號,一位用於實際值。 如果我們這樣做,那么這就是我們最終得到的表格:
十進制 | 二進制 |
---|---|
-2 | 10 |
-1 | 11 |
0 | 00 |
1 | 01 |
所以,這就是你得到的兩位長數字。 請注意,最小值為 -2,最大值為 1。
現在,讓我們繼續討論三個位:
十進制 | 二進制 |
---|---|
-4 | 100 |
-3 | 101 |
-2 | 110 |
-1 | 111 |
0 | 000 |
1 | 001 |
2 | 010 |
3 | 011 |
最小的可表示值是-4,最大的是3。
如果繼續這個過程,當你得到 8 位數字時,你會發現最小值是 -128,最大值是 127。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.