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