16 bit int取值范围是-2^15到2^15-1的原因是在16位的有符号整数中,较高位(即第16位)用于表示符号位,0表示正数,1表示负数。因此,剩下的15位表示该整数的绝对值。对于无符号整数来说,其所有位均用于表示该整数的值,因此16位无符号整数的最大值为2^16-1,即65535。
一、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() # 不传入参数时,得到结果00
int(3)3>>> int(3.6)3
int('12',16) # 如果是带参数base的话,12要以字符串的形式进行输入,12 为 16进制18
int('0xa',16) 10
int('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 Bits
- 1 KB = 1024 Bytes
- 1 MB = 1024 KB
- 1 GB = 1024 MB