一、16 bit int取值范圍是-2^15到2^15-1的原因
16 bit int取值范圍是-2^15到2^15-1是因為在16位的有符號整數中,較高位(即第16位)用于表示符號位,0表示正數,1表示負數。因此,剩下的15位表示該整數的絕對值。對于無符號整數來說,其所有位均用于表示該整數的值,因此16位無符號整數的最大值為2^16-1,即65535。對于有符號整數而言,我們可以表達的值域就只剩下了2^15,因為較高位表示符號位,用掉了一位,所以只有 2^15 – 1 == 32767 個整數。一半是負數也就等于 -2^15,因此它的取值范圍即為從-2^15到2^15-1。
二、int函數
1、簡介
INT函數將返回實數向下取整后的整數值。它的語法格式為INT (number),其中的number是需要進行取整的實數。例如INT( 8.6)的返回值為8,而INT(-8.6)的返回值為-9。TRUNC函數是將數字的小數部分截去,返回數字的整數部分。它的語法格式為TRUNC(number,number_digits),其中number為需要截尾取整的數字,number_digits為指定取整精度的數字,默認為0。例如函數TRUNC(8.5)的返回值是8,而TRUNC(-8.5)的返回值為-8。雖然這兩個函數是取整函數,但是它們的算法是不一樣的。INT函數返回比給定參數小且最接近參數的整數,而TRUNC函數則直接返回去掉小數部分的整數 。
2、功能
int()函數的作用是將一個數字或base類型的字符串轉換成整數。INT(x)可以求出一個不大于x的最大整數 [3-4] 。
3、函數
int(x=0)
int(x, base=10),base缺省值為10,也就是說不指定base的值時,函數將x按十進制處理。
以下是 int() 方法的語法 :
class int(x, base=10)
參數:
x :字符串或數字 。base :進制數,默認十進制 。返回值:返回整型數據 。注釋:在有些其它的程序設計語言中把這個函數叫做“取整”函數。FIX和CINT函數也是完成取整功能。
4、解釋
INT是個INTEGER型過程,它將BYTE或WORD值轉換成INTEGER值,用函數引用調用它,形式為:
INT (expression)
其中expression是個BYTE或WORD型值。INT視參數BYTE或WORD型值為正數并取其相應的INTEGER型值。如果INT計算出的結果不在INTEGER值的允許范圍內,則結果無定義。
5、實例
以下展示了使用 int() 方法的實例 :
int() # 不傳入參數時,得到結果00int(3)3>>> int(3.6)3int('12',16) # 如果是帶參數base的話,12要以字符串的形式進行輸入,12 為 16進制18int('0xa',16) 10int('10',8) 8
三、bit與Byte的區別與關系
1、bit
位 (小寫b)),也稱比特,是英文 binary digit的縮寫,二進制數系統中,每個0或1就是一個位,位是數據存儲(計算機中信息)的最小單位,計算機中的CPU位數指的是CPU一次能處理的最大位數。例如32位計算機的CPU一次非常多能處理32位數據。
2、Byte
字節(大寫B),8bit就稱為一個字節(Byte), 1Byte=8bit,記為Byte或B,是計算機中信息的基本單位。
3、區別
bps 是 bits per second 的簡稱。一般數據機及網絡通訊的傳輸速率都是以「bps」比特/位為單位。如 56Kbps、100.0Mbps 等。
Bps 是 Byte per second 的簡稱。而電腦一般都以「Bps」字節/速度為單位,如 1Mb/s(Mbps) 大約等同 128 KB/s(KBps)。
舉例:USB 2.0 接口傳輸速率為 “480Mbps”,很多人誤解為 480 兆/秒,實際 “480Mbps” 是指 “480 兆比特/秒” 或 “480 兆位/秒”,等于 “60 兆字節/秒”。
延伸閱讀1:bit的相關換算
1個字母=1個字節=8bit(8位)1個數字=1個字節=8bit(8位)1個漢字=2個字節=16bit(16位)1 Byte = 8 Bits1 KB = 1024 Bytes1 MB = 1024 KB1 GB = 1024 MB