Helpers - компьютеры, интернет, программирование

переменная длиннее строки

Я не очень хорошо разбираюсь в vb.net, но столкнулся с проблемой. Мне нужно преобразовать строку в двоичную (то, что я сделал), но после этого мне нужно зашифровать строку, объединив ее с другой строкой, также преобразованной в двоичную.

Проблема: я просматриваю этот результат с помощью строки y(), но результат имеет размерность больше 32 бит, и я получаю сообщение об ошибке: {"Индекс был за пределами массива."}

как я могу это решить? Спасибо

Dim preluare As String = TextBox5.Text    ' the binary text i have to encrypt
    Dim inter() As Char = preluare.ToCharArray
    Dim b As Integer = TextBox5.Text.Count

    Dim x As String = TextBox15.Text  ' the key of encryption
    Dim y() As Char = x.ToCharArray
    Dim bb As Integer = TextBox15.Text.Count

' ключ должен быть той же длины, что и исходный текст

    If b > x.Count Then
        While x.Count < b
            x = x + x
        End While
    End If


    If x.Count > b Then
        Dim w As Integer = x.Count
        x = x.Trim().Substring(w - b)
    End If

' операция xor

    For i As Integer = 0 To b - 1
        If inter(i) = "0" Then
            'MsgBox(i)
            If y(i) = "0" Then ' THIS IS WHERE I GET THE ERROR
                TextBox10.Text = TextBox10.Text + "0"
            Else
                TextBox10.Text = TextBox10.Text + "1"
            End If
        Else
            If inter(i) = "1" Then
                If y(i) = "0" Then 
                    TextBox10.Text = TextBox10.Text + "1"
                Else
                    TextBox10.Text = TextBox10.Text + "0"
                End If
            End If
        End If
    Next
15.03.2014

Ответы:


1

Если вы уверены, что ошибка возникла из-за того, что размер y() больше 32-битного целого числа, как насчет использования 64-битного целочисленного типа данных в качестве счетчика:

For i As Int64 = 0 To b - 1
    .......
    .......
Next
15.03.2014

2

вы можете использовать переменные без знака, такие как uint16, uint32...

15.03.2014
Новые материалы

Интуитивное понимание тензоров в машинном обучении
Тензор является важной концепцией во многих научных областях, таких как математика, физика, обработка сигналов и компьютерное зрение, и это лишь некоторые из них. В математике тензор — это..

Использование машинного обучения для диагностики болезни Альцгеймера, часть 4
Маркеры семантической согласованности для ранней диагностики болезни Альцгеймера (arXiv) Автор: Давиде Колла , Маттео Дельсанто , Марко Агосто , Бенедетто Витиелло , Даниэле Паоло Радичони..

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

Анимированный математический анализ
Использование Manim для создания математических анимированных визуализаций Визуализация данных помогает понять скрытые закономерности в данных, которые невозможно визуализировать..

Создание простого слайдера изображений с помощью JavaScript
Узнайте, как создать базовый слайдер изображений с помощью HTML, CSS и JavaScript. Введение В этом уроке мы создадим удобный слайдер изображений, используя JavaScript, HTML и CSS. Ползунок..

Создание базы данных с помощью супергероя «Python»
В этом посте мы узнаем, как создать «базу данных SQLite с помощью модуля python sqlite3, создав простую функцию входа и регистрации. Готовы ли вы к этому путешествию? Если да , давайте приступим..

ИИ для чайников: руководство для начинающих по пониманию будущего технологий
Вы чувствуете, что остались позади в мире ИИ? Не волнуйтесь, вы не одиноки! Со всей этой шумихой вокруг искусственного интеллекта может быть трудно понять, с чего начать. Но не позволяйте сленгу..