[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Биты
Страницы: 1, 2
Zzepish
Вот задумался о создание своего шифрования.
Однако- для этого мне надо работать с битами! Кто подскажет- как в php байты перевести в биты функцией, или придется самому ее писать?
kaww
Zzepish
что значит байты перевести в биты?Например хотим узнать установлен ли 5-бит в 565
echo ((565 >> 4) & 1) ? 'Бит установлен' : 'пусто (';
Zzepish
kaww
Перевести 1 в 00000001

Invis1ble
Не смешно



Ладно, напишу сам
kaww
Цитата (Zzepish @ 26.02.2013 - 16:28)
Перевести 1 в 00000001

o_O а разве это не одно и тоже? или нужна строка? тогда sprintf()
Zzepish
kaww
2 = 00000010 -как видишь- не одно и то же
waldicom
http://php.net/manual/en/function.decbin.php

_____________
Свои мозги еще никто не отменял.
Телепатов нету.
Zzepish
waldicom
благодарю!))))
А обратная версия есть?
kaww
Цитата (kaww @ 26.02.2013 - 16:32)
2 = 00000010 -как видишь- не одно и то же


разумеется, что 1!=2, но причем здесь 0000001 и 1
waldicom
Цитата (Zzepish @ 26.02.2013 - 17:49)
waldicom
благодарю!))))
А обратная версия есть?

ты удивишься, но http://www.php.net/manual/en/function.bindec.php

_____________
Свои мозги еще никто не отменял.
Телепатов нету.
Zzepish
Вообщем- написал! однако есть прикол:
$gey_int=(int)$int[$i]; - не выдает ничего! ПОчему? ведь массив же
<?php
function
to_bit($int){

if($int===0) return '00000000 ';

$bit='';

for($i=0;$i<strlen($int);$i++){

$get_int=(int)$int[$i];

$get_int=decbin($get_int);

if($get_int<10) $more='000000';
elseif($get_int<100) $more='000000';
elseif($get_int<1000) $more='00000';
elseif($get_int<10000) $more='0000';
elseif($get_int<100000) $more='000';
elseif($get_int<1000000) $more='00';
elseif($get_int<10000000) $more='0';
else $more=0;

$bit.=$more.$get_int.' ';


}

return $bit;

}


echo $t=to_bit(3);
?>
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.