我需要将一个浮点数值转换成二进制。这个值的范围是从0到99.99。
我发现如果值是一个整数,并且在0到255之间,我只需要做:
n = [255]
num = byte(n)
将浮点数直接转换为二进制是不可能的(我认为),我的第一步是将浮点数乘以100,从而获得一个从0到9999的整数。
现在我需要4个字节来表示这个数字。
下面这段Arduino
代码可以完成此操作吗?
n = 9999
byte = pl[4];
pl[0] = (byte) ((n & 0xFF000000) >> 24 );
pl[1] = (byte) ((n & 0x00FF0000) >> 16 );
pl[2] = (byte) ((n & 0x0000FF00) >> 8 );
pl[3] = (byte) ((n & 0X000000FF));
基本上我正在应用一个掩码,但我不知道如何用Python做到这一点,因为我是个新手。:/
更多信息:
目标是缩短我的结果长度以通过无线协议发送。这就是为什么我要将它转换成byte
的原因。
非常感谢。
1100.100010
还是在乘以100之后,你想要010011010010
? - theashwanisinglaint
值,1234
。 - Lleims