C++的整型字面量和位元

來源:互聯網
上載者:User

  整型字面量

  可以用非常直接的方式表示整型字面量。下面是一些例子:

  –123 +123 123 22333

  其中,前兩個例子中的“+”和“–”號是前面提及的一元運算子。在第二個例子中,可以省略“+”,因為這是預設的,但為了使該數值的含義更清晰,加上“+”也不會出問題。字面量+123與123是相同的。第4個例子在一般情況下寫為22,333,但在整型字面量中不能使用逗號。如果使用了逗號,編譯器就會把該數值當做用逗號分隔開的兩個數值。

  也不能使用老式的整數值。舉一個極端的例子,系統不接受有100位的整數。整型字面量是有上限和下限的,這是由儲存每種類型的整數值的記憶體量決定的。本章在後面介紹整型變數時將討論這個問題。

  當然,可以把整型字面量寫成小數值,在電腦中這些值將儲存為位元值。在編程時理解二進位是非常重要的,為了防止讀者對位元字的工作方式有誤解,下面就簡要介紹一下。

  位元

  首先考慮一下在表示常見的十進位數,如324或911,時會做什麼。顯然,324是表示三百二十四,911表示九百一十一。更明確地說,這兩個數表示:

  324是:3×102+2×101+4×100,也就是3×10×10+2×10+4

  911是:9×102+1×101+1×100,也就是9×10×10+1×10+1

  這稱為十進位標記法,因為這是建立在10的冪的基礎之上(來源於拉丁詞decimalis,其含義是什一稅,即稅的10%)。

  以這種方式表示數值非常方便,因為人有10根手指或10根腳趾或者10個任何類型的附屬物。但是,這對PC就不太方便了,因為PC主要以開關為基礎,即開和關,加起來只有2,而不是10。這就是電腦用基數2來表示數值,而不是用基數10的主要原因。這稱為二進位計數系統。數字只能是0或1,當只用開/關來表示數字時,這是很理想的。按照基數為10的計數系統的方法,位元1101就可以分解為:

  1×23+1×22+0×21+1×20,也就是1×2×2×2+1×2×2+0×2+1

  計算得13(十進位系統)。在表2-1中,列出了用8個位元字表示的對應的十進位值(位元字常常稱為位)。

  表2-1

  注意使用前7位可以表示從0到127的數,一共27個數,使用全部8位可以表示256(即28)個數。一般情況下,如果有n位,就可以表示2n個整數,其值從0到2n-1。

  在電腦中,位元相加是非常容易的,因為對應數字加起來的進位只能是0或1,所以處理過程會非常簡單。圖2-1中的例子示範了兩個8位位元相加的過程。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.