Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Арифметические операции в машинных кодах
 
 автор: Buhen   (08.11.2008 в 10:32)   письмо автору
 
 

Добрый день! Мне вообщем необходимо вычитать из одного двоичного числа другое и складывать двоичные числа. Через библиотеку GMP я написал функции AND OR XOR, осталось только осуществить работу с отрицательными числами и сделать имликацию и еквивалентность.
A*B+неА* неB- еквивалентеность
неА+В- импликация


<?
function f_not($a){
    
$d decbin($a);
    
$len strlen($d);
    while(
intval($len) < 8)
    {
$d "0".$d;$len++;}
    
$d=str_replace("1","x",$d);
    
$d=str_replace("0","1",$d);
    
$d=str_replace("x","0",$d);
    if(
$d{0} == '0')
    {
     
$d bindec($d);
    }
    else
    {
     
$d "Получается отрицательное число".$d;
    }
    return 
$d;
}


function 
f_xor($a,$b){
    
$a=gmp_init(strval($a));
    
$b=gmp_init(strval($b));
    
$d=gmp_xor($a,$b);
    return 
floatval(gmp_strval($d));
}

function 
f_and($a,$b){
    
$a=gmp_init(strval($a));
    
$b=gmp_init(strval($b));
    
$d=gmp_and($a,$b);
    return 
floatval(gmp_strval($d));
}

function 
f_or($a,$b){
    
$a=gmp_init(strval($a));
    
$b=gmp_init(strval($b));
    
$d=gmp_or($a,$b);
    return 
floatval(gmp_strval($d));
}
?>

  Ответить  
 
 автор: Buhen   (10.11.2008 в 20:03)   письмо автору
 
   для: Buhen   (08.11.2008 в 10:32)
 

Никто не знает? может есть специальный модуль для булевых функций?

  Ответить  
 
 автор: Trianon   (10.11.2008 в 20:19)   письмо автору
 
   для: Buhen   (10.11.2008 в 20:03)
 

с числами какого размера необходимо оперировать?

  Ответить  
 
 автор: Buhen   (10.11.2008 в 22:25)   письмо автору
 
   для: Trianon   (10.11.2008 в 20:19)
 

51 85 15

  Ответить  
 
 автор: Trianon   (10.11.2008 в 22:41)   письмо автору
 
   для: Buhen   (10.11.2008 в 22:25)
 

Это размер? Или сами числа?

  Ответить  
 
 автор: Buhen   (10.11.2008 в 23:12)   письмо автору
 
   для: Trianon   (10.11.2008 в 22:41)
 

сами числа

  Ответить  
 
 автор: Trianon   (10.11.2008 в 23:49)   письмо автору
 
   для: Buhen   (10.11.2008 в 23:12)
 

funсtion f_not($a) { return ~$a; }
funсtion f_or($a, $b) { return $a|$b; }
funсtion f_and($a, $b) { return $a&$b; }

и т.д.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования