总共有以下的属性:
bool_ | 布尔型数据类型(True 或者 False) |
int8 | 整数(-128 to 127) |
int16 | 整数(-32768 to 32767) |
int32 | 整数(-2^32 to 2^32) |
int64 | 整数(-2^64 to 2^64) |
uint8 | 无符号整数(0 to 255) |
uint16 | 无符号整数(0 to 65535) |
uint32 | 无符号整数(0 to 4294967295) |
uint64 | 无符号整数(0 to 18446744073709551615) |
float16 | 半精度浮点数,1 个符号位,5 个指数位,10 个尾数位 |
float32 | 单精度浮点数,1 个符号位,8 个指数位,23 个尾数位 |
float64 | 双精度浮点数,1 个符号位,11 个指数位,52 个尾数位 |
complex_ | complex128 类型的简写,即 128 位复数 |
complex64 | 复数,表示双 32 位浮点数(实数部分和虚数部分) |
complex128 | 复数,表示双 64 位浮点数(实数部分和虚数部分) |
浮点数总共有三个部分,分别是符号位,指数位,尾数位
符号位表示正负,0表示正数,1表示负数。
指数和尾数的确定方法如下:
将5.25转化为单精度浮点数
①将5.25转化为定点数
5——>0101
0.25——>0.01
5.25——>101.01 (十进制转二进制,小数点之前除二取余,小数点之后乘二取整)
②
101.01=1.0101×2^2
指数=2+127=129——>1000 0001
尾数=0101
符号位=0
所以101.01=
0 10000001 01010000000000000000000
将-2.5转化为单精度浮点数
①将-2.5转化为定点数
2——>0010
0.5——>0.1
2.5——>10.1000
②
10.1=1.01×2^1
指数=1+127=128=1000 0000
尾数=0100
符号位=1
所以-2.5=
1 1000000 01000000000000000000000
将5.625转化为单精度浮点数
①将5.625转化为定点数
5——>0101
0.625——>0.101
5.635——>101.101
②
101.101=1.01101×2^2
指数=2+127=128=1000 0001
尾数=01101
符号位=1
所以-5.625=
0 10000001 01101000000000000000000