1. 程式人生 > >Android進階之通識基礎

Android進階之通識基礎

1 資料型別位元組數

1.1 位元組

  • 一個位元組,8個二進位制位

1.2 位元組數

(1) 32位編譯器
在這裡插入圖片描述
(2) 64位編譯器
在這裡插入圖片描述

2 正負數二進位制的表示

2.1 正負數二進位制的表示

(1)正數的值,第一位以0作為正數標識,直接去二進位制轉10進位制,方便計算0開頭對應的值。無符號數表示範圍為0——255,如下:
①最大為11111111,127+1*26+125+1*24+123+1*22+121+1*20=255

②最小為00000000,027+0*26+025+0*24+023+0*22+021+0*20=0

(2)負數的值,第一位以1作為負數標識,它的真實值是先反碼,再補碼計算出來的。有符號數表示範圍為-128——0——127,如下:
①最大為01111111,126+1*2

5+124+1*23+122+1*21+12^0=127

(3)負數的值的計算方式:負數的值,反碼,補碼,取值

  負數: 10000001   
  反碼: 01111110     
  補碼(就是+1):01111111
  二進位制轉10進位制  -> 127
  加上負號  -127

在這裡插入圖片描述

2.2 32位作業系統int型別最大值是多少?

Int32 //等於int, 佔4個位元組. 取值範圍:-2147483648——2147483647。

因為一般的編譯器預設是有符號(signed int)的,但是有些有編譯選項,可以讓編譯器認為int -> signed int 還是 int -> unsigned int。

2.3 學習連結

為何32位最大的正整數不是4294967295而是2147483647?
通識基礎_正負數二進位制的表
32位作業系統int型別最大值是多少?