![](/img/trans.png)
[英]How to calculate the range, maximu, minimum value of a floating data type?
[英]How to calculate range of data type eg int
我想知道為什么在公式中計算任何數據類型的范圍ie2 ^(n-1),為什么它是n-1,n是給定數據類型占用的位數
假設類型是無符號的,最大值為(2 n )-1,因為有2 n 個值,其中一個為零。
2 (n-1)是單獨的第 n 位的值 - 位 1 是 2 0 ,位 2 是 2 1 ,依此類推。
這對於任何數字基數都是相同的 - 在十進制系統中,n 位可以表示 10 n 個不同的值,最大值為 10 n -1,第 n 位是“值”10 (n-1) 。
例如,小數點后三位的最大數是 999(即 10 3 -1),小數點后第三位是“百位”,即 10 2 。
前2^(n-1)
不正確,數據類型表示的最大(無符號)數為:
max = 2^n - 1
因此對於 8 位數據類型,最大表示值為255
2^n
告訴您表示的數字數量(8 位示例為256
),但因為您想包含0
,所以范圍是0 to 255
,而不是1 to 256
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.