2010-05-26 3 views
-5

В целочисленном кодировании из 8 бит 10101010 у вас есть 0-255 возможностей.Сколько возможностей на двоичном?

Всего 256 различных возможностей, таких как 8 1s и 0s. Сколько различных возможностей я получу, если бы у меня было 10 бит вместо 8?

Как бы вычислить это на PHP?

ответ

13

Я предполагаю, что вы думаете о двоичном, а не в шестнадцатеричном формате? Binary является базой 2 (следовательно, либо 0 или 1 сек), где в качестве шестнадцатеричных низкопробна 16.

Предполагая, что вы говорите о двоичном:

  • Если у вас есть 8 бит у вас есть 2 возможности.
  • Если у вас есть 9 бит, у вас есть 2 возможности.
  • Если у вас есть 10 бит, у вас есть 2 возможности.

Etc ...

Таким образом, вы можете использовать функцию PHP pow:

$possibilities = pow(2, 10); 
+0

Вы абсолютно уверены, что я имею в виду? что дает мне 1024 должности – Val

+0

@Val, предполагая, что вы говорите о двоичном, тогда да. Если у вас было 10 бит (где каждый бит равен 0 или 1), вы могли бы хранить числа от 0 до 1023. (Таким образом, существует 1024 разных разных возможностей) – Yacoby

+2

Да, это правильно, если сказать по-другому, каждый раз, когда вы добавляете бинарный бит, вы удваиваете количество возможностей, так же как при добавлении десятичной цифры вы умножаете количество возможностей на 10. – Martin

1

Было бы^10 2 (2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2)

В SQL Server

SELECT 2*2*2*2*2*2*2*2*2*2 

SELECT POWER(2,10) 
2

насколько я love Идея отправить запрос SQL Server для этого, OP мог бы оценить чистую реализацию PHP.

я предлагаю следующее:

#!/usr/bin/php 
<?php 
function howmanypossibilities($digits) { 
    preg_match_all('{<b>.+= (.+?)</b>}',· 
    file_get_contents('http://www.google.com/search?q=2**'.$digits), $matches); 
    return str_replace('<font size=-2> </font>', ',', "{$matches[1][0]}\n"); 
} 

print howmanypossibilities(10); 
?> 
+0

+1: Блестящий! :-) – Vicky

0

с 8 битами, у Вас есть диапазон из [0 - 255] для чисел без знака (256 возможных значений, включая 0).

Для общего случая у вас есть 2^x количество возможных значений, где x - это количество бит. Таким образом, с 10 битами вы имеете 2^10 = 1024 возможных значений.

Чтобы вычислить это в PHP, просто используйте pow функцию:

pow (number $base , number $exp) 

например

echo pow(2, 10) будет выдавать 1024.

Смежные вопросы