原文:十萬個為什么——為什么8bit有符號整型的范圍是-128到127

從譚浩強的C語言到我現在手上的這本C Primer Plus,幾乎所有的書都是這么說的。說來慚愧,我從來沒有研究過為什么是這個范圍,以前每次看到這里就頭疼,甚至知道考試要考也不背。 之前我也研究過,但是今天看到這里,又疑惑了。 所以,我還是沒弄清楚 先說說我的想法: 如果最前面一位用 和 來表示正負,那么剩下來的 位能表示的數,最小是 , 最大是 的七次方減一,即 。 所以, 在我的想象中, 位有 ...

2018-07-13 23:33 0 854 推薦指數:

查看詳情

符號的char類型取值范圍為什么是-128——127

以前經常看到帶符號的char類型取值范圍是-128——127,今天突然想為什么不是-127——127,-128是怎么來的? 127好理解,char類型是8位,最高位是符號位,0正1負,所以01111111是127。 但是-128是怎么來的呢?11111111不是-127 ...

Wed Jul 31 07:54:00 CST 2013 0 2671
8位字節表示的有符號范圍是-128~127

1 計算機中數值都是按補碼來存儲的。 原碼(原碼是帶符號位的):第一位表示符號位,0表示正數,1表示負數。符號位加上真值的絕對值 比如 0 0 0 0 0 0 0 1 表示正1 1 0 0 0 0 0 0 1 表示負1 反碼:正數的反碼就是原碼, 負數 ...

Sun Aug 19 21:20:00 CST 2018 0 1612
解讀為什么有符號的char可表示范圍是-128~+127

問:為什么有符號的char可表示范圍是-128~+127? 要明白這個問題,首先要明白一下幾點: 對於char和int計算機中以補碼形式存在。 嚴格來說計算機就是傻逼,它只知道某個位上是0還是1。 我們人為告訴計算機一個規則:要是這8個位最高位是0,那么你這8個位中存儲 ...

Fri Aug 28 05:56:00 CST 2015 0 3890
為什么一個字節可以表示的有符號整數的范圍是-128~+127

為什么是-127~128?   對於一個字節來說,能夠表示的整數為什么不是-127~+127,也不是-127~+128,而是-128~+127   對於有符號整數的表示和具體的編程語言無關,而是由硬件決定的,我們能想到的最簡單的方法就是用其中一位表示符號,剩余七位用來表示數據位 ...

Wed Apr 08 04:45:00 CST 2020 0 3036
關於byte的取值范圍(-128~127

在Java中,byte的長度是一個字節,最高位是符號位。 那么正數最大是0111 1111,換算成十進制是127;最小的負數是1111 1111,即-127。 但是有一個特殊的數:0或-0,用來表示-128。 Java語言中沒有無符號類型,都是有符號類型的數據類型。這就是為什么取值范圍 ...

Fri Oct 26 21:56:00 CST 2018 0 921
為什么byte的取值范圍是-128127

一個byte由八個位組成,如00000000,其中,符號位+數值位,前7位表示數值,第8位是符號位(0為正,1為負)。這樣+1就是00000001,-1就是10000001。最大的正數就是0 1111111,即2^0+2^1+……+2^6=127;最小的負數,同理,為1 1111111,即-127 ...

Mon Feb 11 22:26:00 CST 2019 0 1184
java中為什么byte的取值范圍是-128到+127

概念:java中用補碼表示二進制數,補碼的最高位是符號位,最高位為“0”表示正數,最高位為“1”表示負數。正數補碼為其本身;負數補碼為其絕對值各位取反加1;例如:+21,其二進制表示形式是00010101,則其補碼同樣為00010101-21,按照概念其絕對值為00010101,各位取反 ...

Thu Jul 28 08:23:00 CST 2016 0 19803
前端十萬個為什么(之一):我們為什么需要npm?

現代前端開發已經離不開Node了。大家都知道在安裝Node時會附贈一個命令行工具Node Package Manager,即npm。或許你已經照着教程輸入過好多遍”npm install xxx”,並 ...

Sat Nov 10 22:01:00 CST 2018 0 2096
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM