Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
 Аватар для SaweR
29 / 29 / 4
Регистрация: 29.09.2009
Сообщений: 177

Смысл исходного кода

28.09.2012, 16:51. Показов 592. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет. Поясните, пожалуйста, что делает функция nzero(n):
JavaScript
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
function nzero(n) {
  if(n < 1) {
    return "";
  }
  var t = nzero(n >> 1);
  if((n & 1) == 0) {
    return t + t;
  }
  else {
    return t + t + "0";
  }
}
function srp_compute_k(NN, gg) {
  var hashin = "";
  var nhex;
  var ghex;
  var ktmp;
  if(proto == "3")
    return one;
  else if(proto == "6")
    return three;
  else {
    /* SRP-6a: k = H(N || g) */
    nhex = String(bigInt2radix(NN, 16));
    if((nhex.length & 1) == 0) {
      hashin += nhex;
    }
    else {
      hashin += "0" + nhex;
    }
    ghex = String(bigInt2radix(gg, 16));
    hashin += nzero(nhex.length - ghex.length);
    hashin += ghex;
    ktmp = parseBigInt(calcSHA1Hex(hashin), 16);
    if(ktmp.compareTo(NN) < 0) {
      return ktmp;
    }
    else {
      return ktmp.mod(NN);
    }
  }
}
особенно непонятны вот эти строки:
JavaScript
1
2
var t = nzero(n >> 1);
  if((n & 1) == 0)
Заранее спасибо.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
28.09.2012, 16:51
Ответы с готовыми решениями:

Смысл исходного кода, part 2
Здравствуйте. У меня есть 2 вот такие функции calcSHA1(str) и calcSHA1Hex(str): function calcSHA1(str) { return...

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

Объяснить смысл приведённого кода
Что означает этот скрипт? &lt;script&gt; //initialize and attach hovercards to all gravatars jQuery( document ).ready( function( $ ) { ...

1
 Аватар для Vovan-VE
13210 / 6599 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
28.09.2012, 16:58
Судя по результату, nzero(n) возвращает строку, состоящую из указанного количества нулей.
nzero(3) -> "000"
nzero(9) -> "000000000"
Цитата Сообщение от SaweR Посмотреть сообщение
особенно непонятны вот эти строки:
a >> n
Побитовый сдвиг вправо. В данном случае почти эквивалентно целочисленному делению на 2.

a & b
Побитовое И. В данном случае выражение (n & 1) == 0 проверяет, является ли n четным.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
28.09.2012, 16:58
Помогаю со студенческими работами здесь

Реализовать 2 статических анализатора исходного кода, которые будут проверять правила оформления кода
Доброго времени суток. Уже читал подобную пост здесь &quot;Парсер С++&quot;, но немного не то. Задача: реализовать 2 статических анализатора...

Смысл кода
Имеется следующий код, мы вводим числовое значение и если оно некорректное (присутствуют буквы и т.п.) то программа его не принимает,...

Смысл строки кода
Доброго времени суток, подскажите что значит следующая запись. private readonly Action&lt;Robot, int, int&gt; solve; Если совсем...

Обьясните смысл кода
public void setqueen(int i, int j)//заполняет ячейки, которые королева бьет { for (int k = 0; k &lt; 8; k++) ...

Объясните смысл кода
Знатоки, помогите плс разобраться в ситуации. Есть лист со сделками. Сбоку списка сделок список тикеров (названий контрактов) этих сделок –...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru