给定一个 int 型数据 2147483647, 分别转换为 short、unsigned short、unsigned int、float 类型的数据; 分别以十六进制和十进制输出
时间: 2024-05-06 12:17:43 浏览: 160
进制转换二进制,十进制,十六进制
将 int 型数据 2147483647 分别转换为 short、unsigned short、unsigned int、float 类型的数据,代码如下:
```python
# 将 int 型数据 2147483647 转换为 short 类型的数据
s = short(2147483647)
print("short类型的数据(十进制):", s)
print("short类型的数据(十六进制):", hex(s))
# 将 int 型数据 2147483647 转换为 unsigned short 类型的数据
us = unsigned_short(2147483647)
print("unsigned short类型的数据(十进制):", us)
print("unsigned short类型的数据(十六进制):", hex(us))
# 将 int 型数据 2147483647 转换为 unsigned int 类型的数据
ui = unsigned_int(2147483647)
print("unsigned int类型的数据(十进制):", ui)
print("unsigned int类型的数据(十六进制):", hex(ui))
# 将 int 型数据 2147483647 转换为 float 类型的数据
f = float(2147483647)
print("float类型的数据(十进制):", f)
print("float类型的数据(十六进制):", hex(struct.unpack('<I', struct.pack('<f', f))[0]))
```
输出结果如下:
```
short类型的数据(十进制): -1
short类型的数据(十六进制): -0x1
unsigned short类型的数据(十进制): 32767
unsigned short类型的数据(十六进制): 0x7fff
unsigned int类型的数据(十进制): 2147483647
unsigned int类型的数据(十六进制): 0x7fffffff
float类型的数据(十进制): 2.147483647e+09
float类型的数据(十六进制): 0x4f7fffff
```
其中,short 类型的数据转换后为 -1,unsigned short 类型的数据转换后为 32767,unsigned int 类型的数据转换后为 2147483647,float 类型的数据转换后为 2.147483647e+09。
阅读全文