Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.96/25: Рейтинг темы: голосов - 25, средняя оценка - 4.96
2 / 2 / 3
Регистрация: 18.10.2014
Сообщений: 98
Записей в блоге: 1

Перевод числа из 10 системы счисления в любую другую

25.04.2015, 16:32. Показов 5469. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, я с php в отношениях умеренных и никак не могу понять одну вещь вот задание:

Есть 3 поля текстовых и 1 кнопка

в первое поле мы вводим Число которое нужно перевести
во второе поле мы вводим Систему Счисления в которую мы переведем Число
а в третье поле выводится ответ

как это выглядит на странице:

[ПОЛЕ1 - Число][ПОЛЕ2-В какую СС][Кнопка][ПОЛЕ3 - Ответ]


Я нашел такую функцию как

PHP
1
echo base_convert( string $number , int $frombase , int $tobase )
суть этой функции понятна переводит из любой в любую
вот мои действия:

Создаю файл index.html

в нем пишу:

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<!doctype html>
    <head>
        <meta charset = "utf-8">
 
    </head>
<body>
 
<h1>Перевод из 10 в любую систему счисления</h1>
 
<form action="ss.php" method="post">
<input type="text" size="10"  name="num1">
<input type="text" size="10" name="num2">
<input type="submit"  value="Перевести"><br>
</form>
</body>
</html>
Создаю php файл и в нем пишу:

PHP
1
2
3
4
5
6
<?php
$number = $_GET['num1'];
$tobase = $_GET['num2'];
$frombase = 10;
echo base_convert( string $number , int $frombase , int $tobase );
?>
Вроде все тут понятно что
$number = $_GET['num1']; - получает значение (Число) из index.html
$tobase = $_GET['num2']; - получает значение (В какую сс) из index.html
$frombase = 10; - Задал сразу в 10 сс

Открываю в браузере index.html ввожу значения , нажимаю кнопку, открывается другая страница *.php и выводит вот такое сообщение:

Parse error: syntax error, unexpected T_VARIABLE in Z:\home\test1.ru\www\ss.php on line 5

Line 5 Вот :
PHP
1
echo base_convert( string $number , int $frombase , int $tobase );
В чем проблема, все же верно написано.....

И если можно то лучше по заданию вот так (*.php) т.е все в одном файле в не как у меня в 2х..
а то я сделал не по заданию ибо не понимаю как сделать чтоб не потерять значения введенные в поле1 и поле2... мб присвоением данных полей в перемененные и потом воспроизвести их назад (не пробовал)..

Помогите пожалуйста :с
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
25.04.2015, 16:32
Ответы с готовыми решениями:

Перевод дробной части числа из десятичной системы счисления в любую другую систему счисления
Здравствуйте как перевести дробной части числа из десятичной системы счисления в любую другую систему счисления. При переводе целых...

Перевод числа из любой системы счисления в любую другую
нужно написать код. Перевод числа из любой системы счисления в любую. Что бы там было основание любой системы счисления, основание целевой...

Перевод числа из десятичной системы счисления в любую другую
написать программу переводящую число из десятичной системы счисления в любую систему счисления

3
Эксперт PHP
 Аватар для Fedor Vlasenko
936 / 693 / 236
Регистрация: 01.02.2015
Сообщений: 1,848
25.04.2015, 17:00
string $number , int $frombase , int $tobase
0
2 / 2 / 3
Регистрация: 18.10.2014
Сообщений: 98
Записей в блоге: 1
25.04.2015, 17:25  [ТС]
В общем, полистал форум нашел ответ в этой теме (:
и да, Poznakomlus, я так пробовал и там выдает ошибку Warning: base_convert() [function.base-convert]: Invalid `to base' (0) - ответ нашел тут
0
0 / 0 / 0
Регистрация: 02.07.2017
Сообщений: 1
02.07.2017, 11:18
только начал учить php, да и программирование вообще, и тоже столкнулся с подобными задачами, вот пару вариантов калькуляторов, может кому пригодятся:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
/* Математическими функциями PHP:
decbin(number); //десятичное число в двоичное
dechex(number); //десятичное число в шестнадцатеричное
decoct(number); //десятичное число в восьмеричное
bindec(number); //двоичное число в десятичное
hexdec(number); //шестнадцатеричное число в десятичное
octdec(number); //восьмеричное число в десятичное
*/
 
// для проверки, функциями php
$i=378;
echo "$i в двоичной системе = " . base_convert ($i, 10, 2) . PHP_EOL;
echo "$i в восьмеричной системе = " . base_convert ($i, 10, 8) . PHP_EOL;
echo "$i в шестнадцатиричной системе = " . base_convert ($i, 10, 16) . PHP_EOL;
unset ($i);
 
// десятичное в двоичное, используя алгоритм http://vestikinc.narod.ru/AB/dec_bin_tr.htm
$a = 378;
$b = ''; // пустая строковая переменная
    while ($a != 0) {
        $b = ($a % 2) . $b; //добавляем в начало остаток от деления, как младший бит двоичного числа
        $a = (int)($a / 2); //принимаем целую часть частного за новое делимое
    }
echo $b . PHP_EOL;
unset ($a, $b); //удаляю значения переменных, чтобы не мешали следующим вариантам
 
// десятичное в восьмеричное, используя алгоритм http://vestikinc.narod.ru/AB/dec_oct_tr.htm
$a = 378;
$b = ''; // пустая строковая переменная
    while ($a != 0 & $a % 8 < 8) {
        $b = ($a % 8) . $b; //добавляем в начало остаток от деления, как младший бит двоичного числа
        $a = (int)($a / 8); //принимаем целую часть частного за новое делимое
    }
echo $b . PHP_EOL;
unset ($a, $b); //удаляю значения переменных, чтобы не мешали следующим вариантам
 
// десятичное в шестнадцатеричное, через двоичное
$a = 378;
$b = ''; // пустая строковая переменная
    while ($a != 0) {
        $b = ($a % 2) . $b; //добавляем в начало остаток от деления, как младший бит двоичного числа
        $a = (int)($a / 2); //принимаем целую часть частного за новое делимое
}
    $count = strlen($b);
    while(($count % 4) != 0) { // если количество символов не кратно 4
        $b='0'. $b;            // то добавляем в начало 0
        $count = strlen($b);   // снова вычисляем длину
}
    $c = '';                                     // пустая строковая переменная
    for($d = 0; $d < $count; $d = $d + 4)        //пока счётчик меньше количества символов, прибавляем 4
    {
        $c = $c . strtr(substr($b, $d,4), //добавляем к $c замену 4-х символов $b с позиции $d
            array('0000'=>'0',
                  '0001'=>'1',
                  '0010'=>'2',
                  '0011'=>'3',
                  '0100'=>'4',
                  '0101'=>'5',
                  '0110'=>'6',
                  '0111'=>'7',
                  '1000'=>'8',
                  '1001'=>'9',
                  '1010'=>'A',
                  '1011'=>'B',
                  '1100'=>'C',
                  '1101'=>'D',
                  '1110'=>'E',
                  '1111'=>'F'));
    }
echo $c . PHP_EOL;
unset ($a, $b, $c, $d);  //удаляю значения переменных, чтобы не мешали следующим вариантам
 
// десятичное в шестнадцатеричное, используя алгоритм http://vestikinc.narod.ru/AB/dec_hex_tr.htm
$a = 378;
$b = ''; // пустая строковая переменная
while ($a != 0) {
    if ($a % 16 > 0 & $a % 16 < 10):
        $b = ($a % 16) . $b;
    elseif ($a % 16 == 10):
        $b = 'A' . $b;
    elseif ($a % 16 == 11):
        $b = 'B' . $b;
    elseif ($a % 16 == 12):
        $b = 'C' . $b;
    elseif ($a % 16 == 13):
        $b = 'D' . $b;
    elseif ($a % 16 == 14):
        $b = 'E' . $b;
    elseif ($a % 16 == 15):
        $b = 'F' . $b;
    endif;
    $a = (int)($a / 16);     //принимаем целую часть частного за новое делимое
}
echo $b . PHP_EOL;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
02.07.2017, 11:18
Помогаю со студенческими работами здесь

Перевод из любой системы счисления в любую другую систему счисления (2-36)
Привет. 1 курс факультета ИВТ, изучаю С++ только один месяц. Из основного прошли строки, массивы, начали разбирать функции. Преподаватель...

Перевод из 10-й системы счисления в любую другую
uses crt; var n:longint; k:integer; function Sym (n : integer) : char; {ôóíêèÿ ïåðåâîäà äåñÿòè÷íîãî ÷èñëà â ñèìâîëüíîå...

Перевод из десятичной системы счисления в любую другую
Здравствуйте. Мне нужно на Делфи написать код перевода из десятиричной системы счисления в любую другую. Вот суть алгоритма: b=2;...

Перевод из 10 системы счисления в любую другую в пределах от 2 до 16
из темы все понятно, хотелось бы понять что я упускаю. не верно считает... public static string Do(double n, int p, int c) ...

Перевод чисел из десятичной системы счисления в любую другую
Считать с клавиатуры целое неотрицательное число в десятичной системе счисления и основание новой системы счисления (целое число от 2 до...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru