a-树 发表于 2022-3-7 19:17:56

Python在数组内放十六进制数

怎么在python的数组内存十六进制数?
python怎么把十六进制数高位和地位分别存放进数组?

wp231957 发表于 2022-3-7 19:23:31

python中并没有数组的概念,你这种需求可以用元组???

jackz007 发表于 2022-3-7 19:24:30

         什么把高位、低位分别存进数组,举例说明你的需要。

a-树 发表于 2022-3-7 19:35:45

jackz007 发表于 2022-3-7 19:24
什么把高位、低位分别存进数组,举例说明你的需要。

C语言里面,把十六进制分为高低位,然后分别存入数组:
int a = 0x1234;
int b;
b = (a & 0xff00) >> 8;//取高位
b = a & 0xff;//取低位

a-树 发表于 2022-3-7 19:36:15

wp231957 发表于 2022-3-7 19:23
python中并没有数组的概念,你这种需求可以用元组???

列表

wp231957 发表于 2022-3-7 19:46:32

a-树 发表于 2022-3-7 19:35
C语言里面,把十六进制分为高低位,然后分别存入数组:
int a = 0x1234;
int b;


准确的说,寄存器才存在所谓的高8位低8位高16位低16位高32位低32位,和进制是没啥关系的

a-树 发表于 2022-3-7 20:04:58

wp231957 发表于 2022-3-7 19:46
准确的说,寄存器才存在所谓的高8位低8位高16位低16位高32位低32位,和进制是没啥关系的

因为我要和下位机通信,比如要把1500(十进制)发给下位机,1500的十六进制是5DC,下位机判断就是 RC_Control.THROTTLE = (((int16_t)buff<<8|buff)-1000);

a-树 发表于 2022-3-7 20:06:02

本帖最后由 a-树 于 2022-3-7 20:08 编辑

wp231957 发表于 2022-3-7 19:46
准确的说,寄存器才存在所谓的高8位低8位高16位低16位高32位低32位,和进制是没啥关系的

我就是不会python的数据打包,可以看看我的上一个问题。python数据帧应该怎么写啊?

jackz007 发表于 2022-3-7 21:23:25

本帖最后由 jackz007 于 2022-3-7 21:25 编辑

a-树 发表于 2022-3-7 19:35
C语言里面,把十六进制分为高低位,然后分别存入数组:
int a = 0x1234;
int b;


>>> x = 0x1234
>>> a = x // 0x100
>>> b = x % 0x100
>>> hex(a)
'0x12'
>>> hex(b)
'0x34'
>>> c = a * 0x100 + b
>>> hex(c)
'0x1234'
>>>
页: [1]
查看完整版本: Python在数组内放十六进制数