Hack in eine Lotterie


44

Sie haben kürzlich ein Konto auf einer zwielichtigen Glücksspiel-Website eingerichtet, auf der Sie gegen eine Gebühr von 25 US-Dollar einen zufälligen Betrag zwischen 0 und 50 US-Dollar zurückerhalten. Nachdem Sie zweimal ungefähr 5 Dollar erhalten haben, entscheiden Sie sich, zu beweisen, dass die Website ein Betrug ist. Nachdem Sie auf die externe Firewall mit dem Standardkennwort zugegriffen haben, finden Sie den Weg auf den Datenbankserver und den Speicherort für die Werte für die minimalen und maximalen Beträge. Sie beschließen, 25 '9's als Maximalwert einzustecken, erhalten jedoch eine Fehlermeldung, dass der Maximalwert vom Typ' uint64 'sein muss. Inzwischen stellen Sie jedoch fest, dass einige Zifferntasten nicht richtig in die Remote-Konsole eingegeben wurden. Die Herausforderung erscheint vor Ihnen, als ob Sie auf einer Q + A-Site getippt wären.

Verwenden Sie nur die komfortabel installierten Programme zum Testen und Ausführen Ihrer Sprache, und geben Sie die maximale Größe eines 64-Bit-Ganzzahlwerts ohne Vorzeichen aus. Auf diesem Computer ist jedoch fast alles außer den Programmiertools fehlerhaft, sodass Sie auf die Verwendung der Zahlen 1 verzichten müssen. 2,4,6,8 - Sowohl im Quellcode als auch in den Literalen stellen Sie außerdem fest, dass die Ausführung des Programms für jedes weitere Codestück exponentiell länger zu dauern scheint. Sie sollten es daher kurz halten, wenn Sie dies möchten will vor der Ziehung reich werden!


Die Herausforderung

  • Schreiben Sie ein Programm, das 18446744073709551615 ausgibt, den Maximalwert einer 64-Bit-Ganzzahl ohne Vorzeichen, entweder als Zahl oder als einzelne Zeichenfolge.

  • Ihr Quellcode darf keine der Zeichen "1", "2", "4", "6" oder "8" enthalten.

  • Wenn Ihre Sprache keine 64-Bit-Ganzzahl ohne Vorzeichen oder eine gleichwertige hat, kann die Ausgabe im Zeichenfolgenformat oder auf andere Weise erfolgen, muss jedoch die obige Zahl sein.

  • Das ist also gewinnt der kürzeste Code in jeder Sprache!


14
vordefinierte Werte. pfft
Matthew Roh

Kann die Ausgabe eine Hexadezimalzahl sein?
user902383

1
@ user902383 muss das genaue Format haben. Sie können es auch als Hex-Zahl analysieren, solange die Ausgabe in normaler Dezimalschreibweise erfolgt.
Colsw

10
Ich liebe die Geschichte lol. Weitere Herausforderungen brauchen eine Hintergrundgeschichte wie diese
Cruncher

2
War die Glücksspiel-Website nun, da es viele Lösungen zur Auswahl gibt, ein Betrug?
Tominator

Antworten:


20

Bienenwachs , 3 Bytes

_M{

Erläuterung:

_   # Create a bee going horizontally across the line, reading the code
 M  # Decrement the bee's counter, which starts at 0.
    # This will set the counter to 2^64-1, because as bees don't have a concept of
    # negative numbers, all values that are negative are translated to 2^64-n,
    # and in this case, n = -1, as we are calculating 0 - 1.
  { # Print the value

Probieren Sie es online!

Diese Sprache ist perfekt für diese Herausforderung.

Hier ist ein Auszug aus der Esolang-Seite über Bienenwachs :

Wie jeder weiß, haben Bienen kein Konzept negativer Zahlen, aber sie haben herausgefunden, dass sie das höchstwertige Bit einer Adresse verwenden können, um das zu umgehen. Somit werden Koordinaten in Bezug auf die Position einer Biene durch die Zweierkomplemente der Koordinaten realisiert. Auf diese Weise steht die Hälfte des 64-Bit-Adressraums für die lokale Adressierung zur Verfügung, ohne dass ein Umlauf in jede Richtung erforderlich ist.

Die maximale positive 64-Bit-Zweierkomplementadresse ist 9223372036854775807 oder 0x7fffffffffffffff in 64-Bit-Hexadezimalzahl. Alle Werte von 0 bis zu diesem Wert werden identisch zu demselben 64-Bit-Wert übersetzt. Alle Werte n in der entgegengesetzten (negativen) Richtung ergeben 2 ^ 64-n. Beispiel: n = -1 wird von 18446744073709551615 adressiert. N = -9223372036854775808 wird von 9223372036854775808 adressiert.

Dies ist im Grunde Longs ohne Vorzeichen.

EDIT: Ich erwarte immer noch, dass Dennis mich mit einer 2-Byte-Lösung übertrifft.


Sie müssen es nicht drucken, wenn das Formular den Wert zurückgibt. Siehe andere Antworten.
MatthewRock

41

C 26 Bytes

main(){printf("%lu",~0l);}

Gibt einen unsigned longWert aus.

Erfordert eine Größe von long64 Bit.


Schön. So ziemlich das gleiche in Perl: print~0.
Dada

2
~0lsollte arbeiten.
Christoph

11
@ AnixPasBesoin es ist ein Kleinbuchstabe "L" :)
Quentin

2
Du nimmst an sizeof(long) * CHAR_BIT == 64. Eine vernünftige Annahme für Golf, aber es lohnt sich darauf hinzuweisen.
Ray

1
@ Chris es ist der bitweise nicht Operator.
Ven


28

64-Bit-SBCL Common Lisp, 18 Byte

most-positive-word

Das positivste Wort im 64-Bit-Compiler ist 64uint. Es ist etwas.


7
Beste Syntax :))
Seshoumara

1
Macht mich sehr glücklich
Stan Strum

22

Python3 REPL, 12 Bytes

In REPL: ~-(~-3<<9*7)

Außerhalb von REPL: print~-(~-3<<9*7)<-> Python2!

Hier ist ein weiteres mit 17 Bytes: ~-(~-3<<ord("?")).

Erläuterung

Nichts super schickes. Hier ist es aufgeschlüsselt:

~-           | Subtract 1 from the next value.
  (          | 
   ~-3       | Subtract 1 from 3, resulting in 2
      <<     | Binary shift 2's digits to left,
        9*7  | by 9*7 (63).
           ) | The value inside the parentheses is now 2**64.

Der resultierende Ausdruck ist ungefähr (aber nicht ganz) ~-(2<<63)-> (2**64)-1. Ich benutze den Kaulquappenoperator hier zweimal. Ein Golftipp dazu ist hier .

Es gibt auch sys.maxintPython2, das verwendet werden kann, aber das werde ich nicht betrachten.

repl.it <- Testlink .


Warum sieht dieser Code aus wie eine Katze, die eine andere Katze gefressen hat?
OldBunny2800

@ OldBunny2800 Ist das ~-(~Teil die Augen der ersten Katze? Ich kann die zweite Katze nicht gut sehen ...
Yytsi

16

bc, fünfzehn 13 Bytes

2 Bytes dank Handarbeit gespart.

(a=9+7)^a-3/3

Nichts Besonderes, nur (16 ^ 16) -1.


2
Willkommen bei PPCG!
ETHproductions

1
(a=9+7)^a-3/3
Manatwork

Danke, ich habe ursprünglich so etwas in Bash gemacht, bevor mir klar wurde, dass meine Antwort besser ist als reines bc.
Richard

13

Gleichstrom , 7 Bytes

Ich denke, es ist für stapelbasierte Sprachen erlaubt, die Antwort in der obersten Zelle des Stapels zu belassen, ähnlich einem Rückgabewert für Funktionen. Wenn explizites Drucken erforderlich ist, fügen Sie pam Ende des Codes hinzu.

AZ5E^z-

Probieren Sie es online!

Es berechnet (2 64 - 1) mit mehreren Tricks:

  • 2wird als die Anzahl der Ziffern ( Z) angegeben, die in Ganzzahl 10 ( A) gefunden wurden
  • 64ist gegeben als 5E. Standardmäßig verwendet DC 10 als Eingabe-Radix. Trotzdem kann es Zahlen in hexadezimaler Schreibweise akzeptieren, aber sie werden anders konvertiert als erwartet. Beispiel: (5E) Standard = (5E) (Eingaberadix = 10) = (5 * 10 1 ) + (14 (E) * 10 0 ) = 50 + 14 = 64

  • 1wird als Tiefe des Stapels angegeben ( z), da damals nur (2 64 ) vorhanden war

Alternative Geschichte:

Inzwischen stellen Sie jedoch fest, dass einige Zifferntasten nicht korrekt in die Remote-Konsole eingegeben wurden. Sie atmen tief ein und testen die einzelnen Zifferntasten. Es ist schlimmer als du gedacht hast! Es funktioniert kein einziger, und Sie müssen die gewünschte Ganzzahl nur aus Buchstaben und Symbolen erstellen.

Lösung in dc: computing (16 16 - 1), noch 7 Bytes!

Fz+d^z-          # push 15, push 1, add, duplicate, exponentiate, push 1, subtract

Probieren Sie es online!


2
Große alternative Geschichte
Cascading-Stil


10

05AB1E , 4 Bytes

žJn<

Erläuterung:

žJ   # Push 4294967296
  n  # Squared
   < # Decreased by one

Endlich! Eine Chance, die 05AB1Eeingebauten Funktionen für Zweierpotenzen zu nutzen !

Probieren Sie es online!

Eine weitere 4-Byte-Antwort:

žxo<

Erläuterung:

  o  # 2 to the power of
žx   # 64
   < # Decreased by one

Probieren Sie es online!

(Wenn sich jemand wundert, ist diese Frage älter als alle anderen 4-Byte-Antworten.)


Ich habe das Gefühl, dass es eine kürzere Lösung gibt, 64o<aber ich habe sie noch nicht gefunden. Etwas wie '@Ço<mit einem kreativen 64-Push ... Wenn Sie es schaffen, 64 mit 1 Byte zu pushen, können Sie 3 bekommen, das ist der Punkt, den ich versuche zu machen.
Magic Octopus Urn

10

MATLAB / Octave, 5 Bytes

@Sanchises hat eine exzellente MATLAB-Antwort gepostet, dies ist jedoch ein ganz anderer Ansatz, daher werde ich es trotzdem posten:

tic/0

Gibt in MATLAB ticdie Anzahl der Millisekunden seit dem Öffnen des Programms zurück. Entscheidend ist, dass der zurückgegebene Wert ein uint64Typ ist. Dadurch müssen Sie keine Zahl in uint64den Standardtyp von MATLAB übertragen double.

Jede Zahl, die in MATLAB durch 0 geteilt wird, wird als unendlich betrachtet. Bei Nicht-Gleitkommatypen repräsentiert MATLAB dies als den maximalen ganzzahligen Wert für diesen Typ.


Dies funktioniert auch mit Octave. Je nachdem, welchen Interpreter Sie verwenden, wird möglicherweise auch eine Warnung "Division durch Null" ausgegeben. Sie können den Code hier online ausprobieren, da ich sage, dass Sie eine / 0-Warnung erhalten, die in MATLAB nicht angezeigt wird.


Wirklich kluger Ansatz, nette.
Colsw

Ich sehe nur diese Antwort jetzt. Sehr schlau! (Natürlich funktioniert es nicht, wenn Sie dies auf einem sehr schnellen Computer ausführen, so dass tic==0beim Start 😉)
Sanchises


7

PHP, 16 Bytes

Dies ähnelt der Antwort von Ven: https://codegolf.stackexchange.com/a/110751/38505

printf("%u",~0);

https://repl.it/Frcy/0

Damit dies funktioniert, müssen Sie sich in einer 64-Bit-Architektur befinden. Dies liegt daran, dass ~ 0 -1 ist, was 11111111111111111111111111111111111111111111111111111111‌ 1111 in binärer Form in 64 Bit im Vergleich zu 111111111111111111111111 in 32 Bit ist und die Zahlen plattformabhängig sind - Ismael Miguel


1
Lol. Dies funktioniert in bashzu: printf %u $[~0].
Manatwork

Aha, nice @manatwork
ʰᵈˑ

Dies ist architekturabhängig und funktioniert auf i386 nicht.
Pkt.

1
Offensichtlich! i386 ist 16/32-Bit. PHP ist sehr wählerisch. Damit dies funktioniert, müssen Sie sich in einer 64-Bit-Architektur befinden. Dies liegt daran , ~0ist -1, das ist , 1111111111111111111111111111111111111111111111111111111111111111in binär, in 64 Bits, im Vergleich zu 11111111111111111111111111111111in 32-Bit, und die Zahlen sind plataform abhängig.
Ismael Miguel

@ ʰᵈˑ Gern geschehen. Ich muss zugeben, dass ich etwas nachgelassen habe. Ich habe 32 Einsen kopiert. Wenn Sie möchten, können Sie Ihre Grammatik ein wenig auf Ihre Antwort korrigieren.
Ismael Miguel

6

MATLAB / Octave, 22 Bytes

eye(['~rw}?='-9 ''])/0

Probieren Sie es online!

eyewird verwendet, um eine Einheitsmatrix zu erstellen (Matrix mit 1auf der Diagonale, sonst Null). Ohne Argumente wird eine 1x1Einheitsmatrix erstellt, oder mit anderen Worten, nur eine 1. Ein optionales Argument ist der Datentyp ('class' in der MATLAB-Terminologie) der erstellten Matrix. Wir fragen also nach a 1von class uint64und dividieren es durch Null, was zu InfMATLAB führt, das abgeschnitten wird intmax('uint64').

Der Vektor wird zu ['~rw}?='-9 '']ausgewertet 'uint64'. Die Verkettung eines leeren Zeichens mit einem Vektor ist 1 Byte kürzer als die Verwendung char('~rw}?='-9).

Argumentation für diese Antwort: Die integrierte Funktion intmaxwertet leider maximal eine 32-Bit-Ganzzahl mit Vorzeichen aus. Die naheliegende nächste Option ist uint64(), die die verbotenen Zeichen enthält. Die Alternative besteht darin, eine Funktion zu verwenden, die eine Zeichenfolge als Datentyp verwendet. Offensichtliche Kandidaten sind intmaxund cast, aber Alternativen sind zeros, onesund eye.

eye(['~rw}?='-9 ''])/0    % Winning version! 22 bytes.
intmax(['~rw}?='-9 ''])   % Obvious candidate. 23 bytes.
1/zeros(['~rw}?='-9 ''])  % 24 bytes
cast(Inf,['~rw}?='-9 '']) % 25 bytes. Also an obvious candidate, but actually very long.

Hinweis: MATLAB wird standardmäßig auf praktisch allen zwielichtigen Glücksspielseiten installiert.


6

JavaScript, 39 38 33 32 Bytes

alert(0xafebff0+'737095'+0xc99f)

Bearbeiten: 5 Bytes dank @Arnauld gespeichert.


2
Warnung entfernen, da diese in einer Konsole ausgeführt werden kann.
Alexis Tyler

6

Java 8, 30 Bytes

()->Long.toUnsignedString(~0L)

Online testen


Fehlende Java "Boilerplate" und system.out.print Teil
Viktor Mellgren

2
@ViktorMellgren Dies deklariert einen Lambda-Ausdruck, der vollkommen in Ordnung ist.
Sanchises

Dies erfordert Java 8
mbomb007

20
Ja Java 8 und höher, kein Boiler mehr! Angst vor Codegolfspielern! Java ist jetzt ein echter Konkurrent. Dies ist die Zeit, vor der Sie alle solche Angst hatten. Alle Ihre Codegolf-Sprachen sind umsonst! Oh warte noch 30 Bytes, ... versteckt sich
Dwana

5
Sicherlich verwendet die "kürzere Lösung" die unzulässigen Zeichen 1846.
Neil

5

BF, 108 Bytes

-[----->+<]>--.+++++++.----..++.+.---..----.+++++++.----.++++.-------.+++++++++.----..----.+++++.-----.++++.

Wenn jeder Befehl als 3 Bits betrachtet wird, sind dies möglicherweise 41 Bytes.


3
Jeder Befehl ist ein Byte. Nicht 3 Bits.
mbomb007

Nun ja, deshalb habe ich es mit 108 Bytes angegeben ...
Timtech

Ja, aber Sie sagten, "das sind möglicherweise 41 Bytes", was es nicht ist.
mbomb007

Ein Interpreter könnte veranlasst werden, 3-Bit-Gruppen als einen von acht Befehlen zu interpretieren+-<>[].,
Timtech,

Das gibt es schon. Es heißt esolangs.org/wiki/Binaryfuck
mbomb007

5

Retina , 28 27 Bytes

Dank Kritixi Lithos 1 Byte gespart


bieegheeahdhajffbgbf
T`l`d

Probieren Sie es online!

Erläuterung


bieegheeahdhajffbgbf

Ersetzt die nicht vorhandene / leere Eingabe durch diese Zeichenfolge. Diese bestimmte Zeichenfolge wurde durch die "Inverse" dieses Programms generiert. Es kodiert jeweils adurch jals 0durch 9.

T`l`d

Dies ist eine TRansliterationsphase. Die lund dsind Zeichensätze, die für die Transliteration verwendet werden. lStellt das Kleinbuchstaben dar, dbesteht aus allen Ziffern. Also, es kartiert abcdefghijzurück zu 0123456789.


tio.run/nexus/retina#@8/l5Onq6u7h6uro4eLh6OXm5uTu5MYVkuCTkPL/… ist 1 Byte kürzer (ich habe dstattdessen verwendet EO)
Kritixi Lithos 21.02.17

@KritixiLithos Oh ja. Ich bin immer noch nicht ganz wach: P
Business Cat

5

C ++, 46 Bytes.

int m(){std::cout<<unsigned long long(5+3-9);}

Ich mache zum ersten Mal Codegolf, bin aber ziemlich zufrieden mit mir. Nehmen gerne kritik / vorschläge entgegen :)


5

Brain-Flak , 64, 62, 58 , 54 Bytes

(((((()()()()){}){}){}){}){({}<(({}()){}[()])>[()])}{}

Probieren Sie es online!

[Online ausprobieren!]

Vier Bytes gespart dank @Riley!

Erläuterung:

#Push a 64
(((((()()()()){}){}){}){})

#While true
{

  #Pop the top of the stack. We'll store this value for later, but first
  ({}

  #Before pushing the value
  <

    #Push (N + 1) * 2 - 1
    # (where N is the number underneath, originally 0)
    (({}()){}[()])

  >

  #And push the TOS minus one back on
  [()])

#endwhile
}

#Pop the zero left over
{}

#And decrement the number underneath
({}[()])

Für den Datensatz habe ich versucht, 32 zu pushen und zu vervierfachen, aber es ist die gleiche Byteanzahl.


Sie können 4 Bytes sparen, indem Sie eines der ()s von 64 verwenden, um den 1:((((((())()()()){}){}){}){})
Riley

@ Riley Aha, natürlich! Danke
DJMcMayhem



Ähm, kannst du das nicht einfach tun N*2+1anstatt (N+1)*2-1?
Jo King

4

C # 6, 31 Bytes

()=>System.Console.Write(~0UL);

So ziemlich das gleiche wie Java.

C # 5, 56 Bytes

class P{static void Main(){System.Console.Write(~0UL);}}

Die C # 6-Antwort ist nur eine anonyme Aktion, die auch in C # 5 vorhanden ist.
TheLethalCoder

Auch die Herausforderung fordert Sie nur auf, die Nummer auszugeben, so dass Sie eine Func<ulong>als kompilieren können :()=>~0UL;
TheLethalCoder

Es heißt auch nicht, dass Sie keine Eingabe verwenden können Func<int, ulong>, um ein Byte zu kompilieren : _=>~0UL;und ich denke, es wäre immer noch gültig.
TheLethalCoder

4

Viertens (gviertens), 11 9 7 Bytes

true U.

Probieren Sie es online aus

trueist das gleiche wie -1. U.Gibt eine Zahl als vorzeichenlose Ganzzahl aus.

Dies funktioniert auf TIO, möglicherweise, weil es eine 64-Bit-Architektur hat? Ich bin mir nicht sicher. Wenn ich -1 U.zum Beispiel auf repl.it laufe, erhalte ich 2 ** 32-1. Wenn repl.it Ganzzahlen mit doppelter Länge unterstützt, würde die Ausgabe UD.stattdessen verwendet.


Sie können dies wahrscheinlich auf-3 3 / U.
Zeppelin

Oder noch besser: true U. (was auch gut rhythmisiert)
Zeppelin

Oh, ich vergessen true, weil ich so gewohnt bin zu verwenden 0und 1. Vielen Dank.
mbomb007

4

Python3 REPL, 11 Bytes

~0^~0>>~077

Wie es funktioniert

  • ~ 0 ist -1 (Zweierkomplement, eine unendliche Folge von Einsen)
  • 077 ist 63 im Oktal, also ist ~ 077 -64
  • Verschiebung nach rechts mit negativem Parameter ist eine Verschiebung nach links
  • Alles in allem ist -1 xor (-1 << 64) die gesuchte Zahl

4

PowerShell , 29 14 Bytes

0xC000PB/3-3/3

Probieren Sie es online!

Vielen Dank an @ n0rd, dass Sie im Wesentlichen die Hälfte davon gespielt haben.

Dies nutzt den eingebauten unären PBOperator, der im Grunde genommen als "Multiplikation der vorhergehenden Zahl mit 1125899906842624" fungiert (dh wie viele Bytes in einem Pebibyte sind). Das ist , mit der Hex - gekoppelt 0xC000, oder 49152, so 49152 pebibytes. Wir dividieren das durch 3, geben nach 18446744073709551616und subtrahieren 3/3, um den endgültigen Wert zu erhalten.


"0x$(7-3)000PB-9/9"|iex
Nr.

2
0xC000PB/3-3/3
23.

@ n0rd Oh, das ist doch schlau, PBwenn man das so benutzt. Vielen Dank!
AdmBorkBork

@ n0rd ziemlich beeindruckend, willkommen bei PPCG!
Colsw

4

JavaScript (ES6), 50 Byte

[...'䠎ᴐIF╏ɧ'].map(s=>s.charCodeAt()).join``

1
Sie können die Zeichen ändern '䠎ᴐIF╏ɧ'und entfernen-27
Powelles

@jdp Schön, danke :)
George Reith

3

x64-Assembly, 7 Byte

Sechskant (zusammengebaut): 4831C048FFC8C3

zerlegt, kommentiert:
XOR RAX,RAX ;Zero the value of 64 bit register RAX DEC RAX ;Decrement the value of RAX RET ;Return this value

RAX ist ein 64-Bit-Register und wird am häufigsten verwendet, um Ganzzahlargumente (z. B. C) zurückzugeben. Durch Verringern von 1 wird der Wert von 0 auf ... 2 ^ 64-1 verschoben, was genau erforderlich ist.
Die assemblierte Binärdatei enthält zwar Einsen, Vierern und Achtern, die Assembly jedoch nicht, aber die assemblierte Datei wird in der Assembly gezählt. Zählt sie also? Au, mein Kopf.
Die Ausgabe ist in diesem Fall auch der Rückgabewert.


3

Brain-Flak , 223 193 Bytes

Enthält +1 für -A
-30 dank DJMcMayhem

((((((((((((((((((((((((()()()){}){}()){}){}())[()()()()])[][]())[[]()()])[]))()()()())[[]()()])[][()])[()()()()])()()()())[(()()()){}()])()()()()))()()())[()])[()()]))()()()())[(()()()){}()])

Probieren Sie es online!

Dies hat nur die ASCII-Werte von gepusht und wird als Zeichen gedruckt.

Als Referenz werden 338 Bytes benötigt, um die tatsächliche Zahl mit dem Integer- Metagolfspieler zu generieren .

((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((()()()){}()){}){}()){}()){({}[()])}{}()){}()){}())){}{})){}{})()){}{})){}{})){}{})()){}{})){}{})){}{}){}){}())){}{}){}())()){}{})){}{}){}){}){}())()){}{})()){}{})){}{}){}())){}{})()){}{})){}{})){}{})){}{})()){}{})()){}{})){}{}){}())){}{}){}){}())()){}{})()){}{})){}{})

Probieren Sie es online!



Außerdem glaube ich , Sie ein Byte für hinzufügen können , -Ada Standard - Aufruf bereits enthält -f, so ist es nur eine off zu tun , -fAanstatt
DJMcMayhem

@DJMcMayhem Wann haben wir angefangen, +1 für die Argumente zu verwenden? Ich habe nicht darüber []nachgedacht, dass ich mir das ansehen werde, wenn ich eine Chance bekomme. Vielen Dank.
Riley

3

MATL, 8 Bytes

l_5Z%EZD

Dies könnte wahrscheinlich verbessert werden, aber ich bin noch nicht mit Zeichenfolgen und Typen in MATL vertraut.

Probieren Sie es bei matl.suever.net

Erläuterung:

l       % push 1
_       % unary minus
5       % push 5, corresponds to type 'uint64'
Z%      % convert 1 to this type
E       % double
ZD      % display as a string

Es müsste YY5Z% ZD sein, um den uint64-Typ zu erzwingen, aber ich weiß nicht, warum die Verwendung von 1 5Z% stattdessen nur funktioniert ...
B. Mehta

Sie können 8.
xnor

@xnor Ups, behoben.
B. Mehta

Können Sie einen Demo-Link mit matl.suever.net oder matl.tryitonline.net hinzufügen ?
Suever

1
@ LuisMendo Ah, natürlich - ich dachte, castwurde verwendet, aber es macht Sinn, wenn typecastverwendet wird. Danke, dass Sie das geklärt haben.
Sanchises

3

Javascript 55 Bytes

alert(""+(590300>>5)+(59530-3>>3)+7370955+(3*59*73>>3))

Der Code generiert und alarmiert dann die Zeichenfolge 18446744073709551615 mit bitweisen Operationen

590300 >> 5 18446
59530-3 >> 3 7440
7370955
3 * 59 * 73 >> 3 1615


Zeigt 2588673709551615für mich ...
n0rd

alert(0xafebff0+'7370955'+(3*59*73>>3))funktioniert gut
Nr.

Ich lasse es so, wie es ist, um die verwendete Methode beizubehalten, anstatt jetzt nur jemand anderen zu kopieren.
Donnerstag,

2

Schnell, 8 Bytes

UInt.max

Außenspielplatz / Repl - 15 Bytes

print(UInt.max)

2

TI-Basic, 10 Bytes

9+7
Ans^Ans-0!

TI-BASIC kann diese Zahl nicht genau berechnen, speichern oder anzeigen. Floats haben nur eine Genauigkeit von 14 Stellen (ca. 44 Bit).
Lirtosiast
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.