Binäre suche mit Java, system falls Zahl nicht vorhanden?

Moin,

Folgendes:

Ich habe ein array mit 25.000 Feldern, in diesem sind aufsteigend quadratzahlen gespeichert. Das Programm fragt aktuell ab nach welcher Zahl man sucht und sucht dann systematisch das Array ab mittels annäherung. Ich hab nur absolut keine idee wie ich es einbauen kann, dass er merkt wenn die Zahl nicht vorhanden ist. Meine idee war, das er die Variable des letzten versuchs, mit der des aktuellen versuchs dividiert und wenn das Ergebnis = 0 ist, soll er ausgeben das die zahl nicht vorhanden ist. Leider passiert es dadurch aber manchmal das er anzeigt das die Zahl nicht vorhanden ist obwohl sie das ist, immer dann wenn er ein Feld neben der gesuchten Zahl sucht. Hier mal der relevante Teil des Codes:

int resultIndex;
int bereich = 12500;
int alg = 6250;
int bereich2 = 0;

while(true)
{


    if(quadratZahlen[bereich] < zahl)
    {
        bereich = bereich + alg;
        alg = alg / 2;

    }
    else if(quadratZahlen[bereich] == zahl)
    {
        resultIndex = bereich;
        break;
    }
    else if(quadratZahlen[bereich] > zahl)
    {
        bereich = bereich / 2;

        alg = bereich / 2;

    }


    int test = bereich - bereich2;

    if (test == 0)
    {
        resultIndex = -1;
        break;
    }

    bereich2 = bereich;

}

bereich2 ist die variable der letzten suche

bereich die der aktuellen suche

alg dient nur zur neu berechnung von bereich wenn die Zahl nicht gefunden wurde

resultIndex zeigt den Platz der gefundenen Zahl

Computer, Software, Studium, Mathematik, Technik, programmieren, Java, Array, Entwicklung, Informatik, Programmiersprache, Softwareentwicklung, Algorithmus, binär, Programmierung Java, IntelliJ IDEA
Arduino integer mit binärem Wert in decimal umwandeln?

// Probleme wurden gelöst. Teil des Problems war dass ich den Chip außversehen nach dem umprogrammieren eine Reihe zu weit nach Oben gemacht habe... Leichtsinnsfehler... :)

Hallo. Bin gerade an einem Projekt bei dem ich LED's mit einem 8Bit shift register zum leuchten bringen will.

1 bedeutet leuchten und 0 bedeutet aus.

Jetzt will ich einen Wert wie "10000001" angeben können und die LED's werden direkt so eingeschalten wie es im int aussieht.

Gerade im Moment probiere ich es so zu lösen dass ich der ShiftOut Funktion den decimalen Wert gebe welche diese dann wieder in decimal umwandelt und raus schiebt:

  int bits = 10000001;

  digitalWrite(latchPin, LOW);
  //Binary to decimal Versuch
  int decimal =
  (((bits / 10000000U) % 10) * 128)
  + (((bits / 1000000U) % 10) * 64)
  + (((bits / 100000U) % 10) * 32)
  + (((bits / 10000U) % 10) * 16)
  + (((bits / 1000U) % 10) * 8)
  + (((bits / 100U) % 10) *4)
  + (((bits / 10U) % 10) *2)
  + ((bits / 1U) % 10);

  shiftOut(dataPin, clockPin, MSBFIRST, decimal);

  digitalWrite(latchPin, HIGH);

Ich bin mir sicher dass man das wesentlich effizienter und schlauer lösen kann. Unter anderem funktioniert mein Code nicht mal... wenn ich ihn laufen lasse sind die LED's volgendermaßen angeschaltet: "00010000"...

Würde mich über Hilfe freuen und danke schon mal im Vorraus.

Liebe Grüße, Leo

Bild zu Frage
Computer, Technik, Programm, programmieren, Arduino, Code, Informatik, Technologie, binär, Integer, Spiele und Gaming
Computer ohne Binärzahlen (Einzen und Nullen) und das 7x so schnell?

Beim Duschen kam mir eine Idee die mir im nachhinein garnicht mal so dumm vorkam.

Derzeitige Computer arbeiten mit Binäre Einzeln und Nullen in Form von "An" und "Aus" Zustände... Das benötigt allerdings 8 Signale hinter einander, um nur einen einzelnes Byte / Buchstabe daraus zu ermitteln anhand des BInäralphabets:

https://de.convertbinary.com/binaeralphabet-sehen-sie-die-alphabetischen-buchstaben-in-binaercode/

Was wäre aber wenn man den Buchstabe mit nur einem Signal bereits würde womit man direkt erkennen würde das dieses Signal ein A ist und ein anderes Signal ein B oder C oder ....

Z.b. Würde mir da in den SInn kommen mit verschiedenen Frequenzen oder Spannungen zu arbeiten das z.b. ein Signal mit 300hz übermittelt werdne würde was z.b. für ein A stehen könnte, und ein Signal mit 310Hz für ein B und so weiter und so fort und wenn das nicht mit Hz geht z.b könnte man solche muster auch mit Volt versuchen zu übermitteln. So müsste z.b. Prozessoren nicht ganze 8 Bits abwarten bis sie endlich überhaupt einen Buchstaben haben von einem gesammten Script von einem einzelnen Frame in einem Computerspiel z.b.

Glasfaserkabel könnte man auch noch immer benutzen für sowas mit z.b. Licht impulsen die ständig ihre frequenz ändern um direkte Bytes zu übertragen anstatt Bytes anhand von Bits erstmal sammeln zu müssen.

Theoretisch müssten dadurch Übertragungen über Lange distanzen und Berechnungen in Prozessoren 7x Schneller fertig werden, wenn Compiler ihre Maschienensprachen direkt in Buchstaben codieren anstatt erstmal Bits zu verarbeiten und aus dne bits die Buchstaben zu ergänzen um daraus Ergebnisse zu formen...

Computer, Technik, Elektrik, Zahlen, compiler, Wissenschaft, Technologie, binär
Funktionieren binäre Optionen wirklich?

Hallo Leute. Ich habe neulich einen Internetartikel durchgelesen in dem es um binäre Optionen ging. Die Internetseite berichtet auf Deutsch über ein 7-tägiges Tagebuch eines Amerikaners. Leider fimde ich diese Seite nicht mehr.. Jedenfalls berichtet diese Person darüber, noch am ersten Tag am Abend mit binären Optionen gehandelt zu haben indem er irgendwohin 250€ überwiesen hatte oder so und am nächsten Morgen über 1.100€ hatte. Einfach so. Am 7. Tag hatte er letztendlich über 1.000.000 und hatte ein schönes Leben tralala. Das mag sich jetzt ziemlich gefaked anhören und die Internetseite sah auch ganz komisch aus von wegen ,,DIESES ANGEBOT GILT NUR NOCH BIS 30. MAI!".. Allerdings habe ich in den Kommentaren einige Diskussionen darüber gelesen, dass das wirklich funktionieren sollte. Dort ging es vor allem darum: ,,Wenn das so viel Erfolg bringen soll, warum nutzen es dann nicht alle?" ,,Na weil es noch nicht so viele kennen." Ganz oben in dem Internetartikel stand auch noch drin, dass die Regierung das eigentlich geheimhalten wollte und Angst hatte, da sonst die Finanzen außer Kontrolle geraten würden. Was haltet ihr davon? Würdet ihr sowas machen? Ich werde mich nochmal auf die Suche nach der Seite machen und hoffe, dass ich sie doch noch finde..

Vielen Dank schonmal fürs durchlesen. Hoffe ja auf ein paar hilfreiche Antworten..

Mit freundlichen Grüßen -Eric

Internet, Deutsch, Finanzen, Angst, Amerika, Regierung, Erfolg, Amerikaner, Artikel, Optionen, Risiko, Tagebuch, Trading, Woche, binär

Meistgelesene Fragen zum Thema Binär