java.lang.Integer / toString werden Zahlen mit beliebiger Radix gedruckt:
%Vor%Diese Funktionen generieren und drucken Strings mit java.util.Formatter .
Aber sie tun nicht binär, also ist das Beste, was ich mir vorstellen kann:
%Vor%Alle diese Antworten sind gut, aber beide unterstützen kein Zweier-Komplement für negative Zahlen (cl-Format) oder drucken nicht die richtige Anzahl von Bits aus, basierend auf der Breite der Daten selbst (z. B. Aufruf von Integer / toBinaryString oder Integer / toString auf einem Byte wird nicht das tun, was Sie wollen, besonders für negative Zahlen).
Hier ist eine Lösung, die die genauen Bits der zugrunde liegenden Daten korrekt ausgibt:
%Vor% Test der Extreme hier mit (bit-shift-left 1 63)
oder 1000000000000000000000000000000000000000000000000000000000000000
.
Die angegebene cl-format
-Lösung gibt mir einen Integer-Überlauf.
Integer/toBinaryString
gibt mir Value out of range for int: -9223372036854775808
.
Aber Long/toBinaryString
gibt mir die Zeichenfolge, die ich erwartet habe.
Tags und Links clojure