Php 如何生成24位范围内的十进制数?
我有24位二进制,这是 111010001100001010011000 等于15254168 我只“猜测”它的24位,因为二进制长度是24 我想用程序生成所有24位小数。(C、PHP或Python) 2**24返回16.777.216 因此,还有16.777.216个其他小数(组合)。如何生成它们 我无法理解24位的“范围”。 有人能帮我吗Php 如何生成24位范围内的十进制数?,php,python,math,Php,Python,Math,我有24位二进制,这是 111010001100001010011000 等于15254168 我只“猜测”它的24位,因为二进制长度是24 我想用程序生成所有24位小数。(C、PHP或Python) 2**24返回16.777.216 因此,还有16.777.216个其他小数(组合)。如何生成它们 我无法理解24位的“范围”。 有人能帮我吗 谢谢。24位仅仅意味着有24位(0或1)一起创建一个二进制数 <!-- language: python --> 如果您想要所有的组合,或者
谢谢。24位仅仅意味着有24位(0或1)一起创建一个二进制数
<!-- language: python -->
如果您想要所有的组合,或者所有可以用24位表示的数字,它的范围是从0到16777215。为什么?以下是表格格式(二进制=十进制):
你真的不需要产生任何东西。您可以在此处检查二进制到十进制:
另一件事:有时在二进制中,前导零被省略。所以小数点三不是00000000000000000011,而是11。如果长度是24,第一个数字是1,它的范围仍然是8388608-16777215在哪种编程语言中?顺便说一句,答案很简单:从0到2^24的所有数字-1@mescalinum我更喜欢PHP和Python。你能解释一下为什么你需要一个“算法”来完成这个任务吗?@mescalinum我正在用射频(RF)进行实验它只接受十进制值。软件进行二进制转换。所以我必须提供24位小数。
['{:024b}'。(2**24)]范围内k的格式(k)
非常快,谢谢Rafael和@mescalinum。很好!非常感谢。然而,我必须为软件“生成”。第一个数字是0,所以整个范围是1-16777215,对吗?我只需要用零来“填充”,使其成为24位二进制。对吗?如果您需要所有1600万个二进制数字的列表,您可以使用python:for-dec在范围(0,2**24):print(“{:0>24}”)。format(bin(dec)[2:]))
>>> n = 3
>>> result = [bin(k)[2:].rjust(n, '0') for k in xrange(2**n)]
>>> print result
['000', '001', '010', '011', '100', '101', '110', '111']
>>> n = 24
000000000000000000000000 = 0
000000000000000000000001 = 1
000000000000000000000010 = 2
000000000000000000000011 = 3
....
....
111111111111111111111110 = 16777214
111111111111111111111111 = 16777215