Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何生成24位范围内的十进制数?_Php_Python_Math - Fatal编程技术网

Php 如何生成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位二进制,这是 111010001100001010011000 等于15254168

我只“猜测”它的24位,因为二进制长度是24

我想用程序生成所有24位小数。(C、PHP或Python)

2**24返回16.777.216

因此,还有16.777.216个其他小数(组合)。如何生成它们

我无法理解24位的“范围”。 有人能帮我吗


谢谢。

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