Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.09.2013, 21:13   #1
pompiduskus
юзер как все
Участник клуба
 
Аватар для pompiduskus
 
Регистрация: 10.01.2012
Сообщений: 1,586
По умолчанию Перевод из двоичной в десятичную систему счисления выдает не правильный результат

Привет друзья.

программа для перевода из 2-й в 10-ю систему счисления.

Помогите понять почему программа выдает не правильный ответ.

есть "10110101" равно "181";

при таком раскладе программа выдает правильный ответ.

PHP код:
    $bin $_GET['bin'];
    
$step 2;
    
$dec 0;
    
    
// $x длина строки, ее использую как степень
    
for($x=(strlen($bin)-1), $i=0$x>-1$x--, $i++){
        if(
$x == 0){
            
$dec += $bin[$x];
        }else{
            
// этот FOR возводит в степень
            
for($ox=1$ox<$x$ox++){
                
$step $step*2;    
            }
            
$dec += $bin[$i]*$step// тоже самое что и pow(1, 2);
            
$step 2;
        }
    }
echo 
$bin.' = '.$dec
но если ввести "1001110" что равно "78"; она выдает "79"

меняю не много код и она выдает уже "78"

PHP код:
    $bin $_GET['bin'];
    
$step 2;
    
$dec 0;
    
    
// $x длина строки, ее использую как степень
    
for($x=(strlen($bin)-1), $i=0$x>-1$x--, $i++){
        
//if($x == 0){
            //$dec += $bin[$x];
        //}else{
            // этот FOR возводит в степень
            
for($ox=1$ox<$x$ox++){
                
$step $step*2;    
            }
            
$dec += $bin[$i]*$step// тоже самое что и pow(1, 2);
            
$step 2;
        
//}
    
}
echo 
$bin.' = '.$dec
Но теперь при вводе "10110101" что равно "181"; она выдает "182"

Вообщем замкнутый круг какой-то.

Я знаю что существую математические функции, но в чем тут ошибка ?
<Дзен - Вся вселенная в тебе > | Резюме: https://ch3ll0v3k.github.io/CV/

Последний раз редактировалось pompiduskus; 18.09.2013 в 21:38. Причина: ошибки, опечатки
pompiduskus вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Оцените математической формулой, насколько больше цифр в двоичной записи большого числа, чем в его десятичной записи. Анюта.Хом Помощь студентам 1 02.12.2011 23:13
Ввести число типа unsigned long. Распечатать в десятичной, двоичной и шестнадцатеричной системе счисления gas777 Общие вопросы C/C++ 5 03.06.2011 09:19
C++. в зависимости от проверки элемента на равенство должен выводится правильный ответ phantom4eg Помощь студентам 9 24.05.2010 22:41
Файл, выводит не правильный ответ. Telec Общие вопросы C/C++ 7 11.05.2010 19:30
Код не всегда выдает правильный результат Maxx Microsoft Office Excel 2 18.02.2010 15:59