Senin sorunun 4
bir asgari genişliği belirtilen ettik, ama 2F
böylece 6 karakter üretilir biti vardır.
yapabilirsiniz ya:
- Biçim tek tek her bir altıgen basamaklı ve
- dinamik biçim genişliğini olun sonuçları bitiştirmek - onaltılık basamak 4 kez sayı
- kullanın bir dize dayalı yaklaşım
Eğer requireme yeniden ifade eğer başka
- şey
basit bir dize tabanlı bir yaklaşımdır nt "her zaman 4 bitlik bir çoğul üretir". İşte
var bunu nasıl:
String pad = String.format("%32s", Integer.toBinaryString(i)).replace(' ', '0')
.replaceAll("^(0000)+", "");
fark benim için .replaceAll("^(0000)+", "")
ekleyerek 32
karakter (maksimum bit bir int
olabilir) ve bir seferde gelen sıfırları 4 kapalı kesilmiş olması çıkışını değişti olduğunu senin kodun.
Bu normal ifade "dizenin başında 1 veya daha fazla 0000
örneğiyle eşleşir" ve yedek terim boş, bu nedenle eşleşen her şey "silindi".
Ancak ikilide '2F' 6 bite (' 101111') sahiptir. Ne demek sadece 4 bit istiyorsun? Sadece 4 bite yazamazsın - burada bir dolgu yoktur. Lütfen asıl sorunun ne olduğunu açıklığa kavuşturun. – Bohemian
Her Hex değerinin 4 bit uzunluğuna sahip olmasını istiyorum, bu nedenle 2 0010'dan beri, diğer 0'ın önünü istiyorum – F22lightning
Soruğumu Bohemian'a bağladığınız için teşekkür ederim. – F22lightning