Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 10.03.2012
Сообщений: 8

Перевод из PHP в VB

02.05.2012, 20:07. Показов 1064. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Очень нужна программа для кодирования Хэмминга.

Есть пример кодирования Хэмминга, но он на PHP.
Прошу умельцев перевести на язык Visual Basic

Исходник Ссылка удалена

Код Хемминга – один из первых самокорректирующихся кодов. Он позволяет автоматическое исправление одной ошибки и обнаруживать две. Код Хэмминга используется в некоторых прикладных программах в области хранения данных.

Для этого используются k – контрольных розрядов. И так если у нас задача закодировать m двоичных разрядов, то k должно удовлетворять неравенство 2k ≥ k+m+1 или k ≥ log2(k+m+1)


Зададим начальную последовательность

PHP
1
2
3
  $input = "1001000"; // задаем последовательость
 
   $m = strlen($input); // узнаем длину


Для начала узнаем количество контрольных разрядов:

PHP
1
2
3
4
5
  $k = 2; // задаем самое минимально возможное k
 
   $l2n = log10(2); // 
 
   while ($k * $l2n < log10($k + $m + 1)) $k++; // вычисляем по формуле минимальное k


Запишем информационные разряды на свои места

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 $result = Array(); // заводим массив разрядов
 
     
 
   for ($i = 1, $j=0, $n = $k+$m; $i <= $n; $i++) { // проходим по всем разрядам
 
     if (($i & $i-1) == 0) { // если степень двойки, то есть контрольный разряд, то пропускаем
 
       $result[$i] = '-';
 
       continue;
 
     }
 
     $result[$i] = $input[$j++]; // в информационные разряды записываем исходные данные
 
   }



Узнаем контрольную сумму:

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$control = 0;
 
   for ($i = 1, $n = $k+$m; $i <= $k+$m; $i++) { // проходим по всем разрядам
 
     if ($result[$i] == 1)
 
       $control ^= $i; // если единица, то суммируем по модулю два
 
   }
 
   $control = decbin($control); // преобразовываем в двоичный код
 
   for ($i=0, $n = strlen($control); $i<$k-$n; $i++) // дописываем спереди нули
 
     $control = "0".$control;



И записываем контрольную сумму в контрольные разряды:

PHP
1
2
3
4
5
for ($i = 0, $j = 1, $n = strlen($control); $i < $n; $i++, $j*=2) {
 
     $result[$j] = $control[$i]; 
 
   }



Выдаем результат:

PHP
1
2
3
4
5
6
7
$output = ""; 
 
   for ($i= 1, $n = count($result); $i <= $n; $i++)
 
     $output .= $result[$i];
 
   echo $output;
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.05.2012, 20:07
Ответы с готовыми решениями:

Перевод с С++ на php
Когда-то на третьем курсе писал перевод строки в обратную польсую запись. Теперь эта функция мне нужна на php. Вот мой код на...

Перевод на Русский в php?
здравствуйте, столкнулась с небольшой проблемой. В мобильной версии сайта. название меню на английском языке, полезла в код менять язык....

перевод кода из php на js
Привет всем! Нужна Ваша помощь! Хочу иметь заглушку на сайте для ie6.... Есть код на php, можете помочь перевести на js? &lt;?php ...

1
0 / 0 / 0
Регистрация: 10.03.2012
Сообщений: 8
05.05.2012, 18:19  [ТС]
!бамп
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
05.05.2012, 18:19
Помогаю со студенческими работами здесь

Перевод Delphi -> PHP
Я не очень компетентен в этом вопросе, но возможно ли на php перевести код Delphi. Вот сам код: function...

Перевод из Paskal в PHP
Доброго времени суток!!! Помогите, пожалуйста, перевести этот код на язык PHP. program kurs; function poisk(x: real): real; var ...

Перевод кода с PHP на C#
Здравствуйте, необходима помощь с переводом кода с PHP на C# &lt;?php define('CRYPT_KEY', '19800216'); define('DEBUG_MODE',true);...

Перевод кода с PHP
Есть кусок кода: function array_all_combinations($items, $perms = array(), &amp;$result = array()) { if (empty($items)) { ...

Перевод c PHP в JavaScript
&lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;meta charset=&quot;utf-8&quot; /&gt; &lt;/head&gt; &lt;body&gt; &lt;form id=&quot;form1&quot;&gt;&lt;/form&gt; &lt;script&gt; ...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru