php 24位,关于php:如何在24位范围内生成小数?

我有24位二进制文件,这是

111010001100001010011000

等于15254168

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

我想以编程方式生成所有24位小数。 (C,PHP或Python)

2 ** 24返回16.777.216

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

我无法理解24位的"范围"。

有人可以帮我吗?

谢谢。

用哪种编程语言?

顺便说一句,答案很简单:所有数字从0到2 ^ 24-1

@mescalinum我更喜欢PHP和Python

你能解释为什么你需要一个"算法"来完成这项任务吗?

@mescalinum我正在尝试射频(RF),它仅接受十进制值。 软件执行二进制转换。 所以我必须提供24位小数。

因此,这是否可能是stackoverflow.com/questions/10411085/的副本?

这是你想要的吗?

>>> 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

[{:024b}.format(k) for k in range(2**24)]更快

谢谢拉斐尔和@mescalinum。 很棒!

24位只是意味着有24位(零或一)共同创建一个二进制数。

如果要使用所有组合或可以用24位表示的所有数字,则范围是0到16777215。为什么? 以下是格式的表格(二进制=十进制):

000000000000000000000000 = 0

000000000000000000000001 = 1

000000000000000000000010 = 2

000000000000000000000011 = 3

....

....

111111111111111111111110 = 16777214

111111111111111111111111 = 16777215

您真的不需要生成任何东西。 您可以在此处检查二进制到十进制:http://www.binaryhexconverter.com/binary-to-decimal-converter

另一件事:有时在二进制中,省略前导零。 因此,小数点后三位不是000000000000000000000011,而是11。如果长度为24而第一位为1,则其范围仍然为8388608-16777215

谢谢。 但是我必须为软件"生成"。 第一位数字是0,所以整个范围是1-16777215,对吧? 我只需要用零"填充"使其成为24位二进制即可。 对?

如果您需要所有1600万个二进制数的列表,请在python中执行以下操作:

对于范围在(0,2 ** 24)中的dec:print(" {:0> 24}"。format(bin(dec)[2:]))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值