Penghitung Heksadesimal


10

Gambar dari Tabel Konversi Hex tanpa penghitung

Heksadesimal adalah sistem penghitungan basis 16 yang beralih dari 0ke f. Tugas Anda adalah membuat penghitung yang akan menampilkan angka-angka ini.

Contoh:

$ python counter.py
1 2 3 4 5 6 7 8 9 a b c d e f 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f 30

Aturan:

  • Angka-angka dapat dipisahkan oleh spasi, tab, atau baris baru.
  • Nomor minimum yang harus Anda tuju adalah 30(48 dalam desimal).
    • Anda juga dapat membuat nomor cetak program selamanya sampai berhenti.
  • Surat mungkin dalam huruf besar atau kecil ( Aatau a).
  • Tidak ada fungsi bawaan yang diizinkan (yang secara langsung memengaruhi konversi / penghitungan heksadesimal).
  • Angka nol diijinkan
  • Mungkin mulai dari 1atau0
  • Kode terpendek menang!

@ Sp3000 Seberapa bawaan mereka? Mengkonversi desimal menjadi hex?
fase

@ Sp3000 Fungsi bawaan tidak diizinkan!
fase

4
Lalu bagaimana dengan fungsi konversi basis umum?
Sp3000

1
@ Sp3000 Tentu (abaikan ini, batas 15 karakter)
fase

1
@Mauris Ya! Itu pasti akan menarik ...
fase

Jawaban:


5

Pyth - 12 byte

Gunakan produk cartesian, dan urutkan pada akhirnya untuk mendapatkan urutan yang benar, kemudian bergabung dengan spasi. Cetakan 00-ffinklusif.

jdS^s+<G6UT2

Cobalah online di sini .

jd             Join by spaces
 S             Sort lexiographically
  ^    2       Cartesian product repeat twice
   s+          Append then concatenate entire list
    <G6        First six of alphabet
    UT         Range 0-9


6

CJam, 21 14 byte

A,_6,'Af++m*S*

Mencetak angka 00 hingga 9F.

Cobalah online di penerjemah CJam .

Bagaimana itu bekerja

A,             e# Push [0 ... 9].
  _            e# Push a copy.
   6,          e# Push [0 ... 5].
     'Af+      e# Add 'A' to each. This pushes "ABCDEF".
         +     e# Concatenate. This pushes [0 ... 9 'A' ... 'F'].
          m*   e# Cartesian product. This pushes [[0 0] ... [9 'F'].
            S* e# Join, separating by spaces.

5

Python 2, 52

a=0
for b in'0123456789ABCDEF'*4:print`a`+b;a+=b>'E'

Mencetak 00ke 3F. Mengambil keuntungan dari kenyataan bahwa digit pertama aselalu merupakan angka dalam kisaran ini. Loop melalui empat siklus digit kedua b, bertambah asetiap kali digit kedua F.

Ini adalah satu karakter lebih pendek daripada yang lebih langsung

for a in'0123':
 for b in'0123456789ABCDEF':print a+b

n ='0123'harus menyimpan beberapa karakter
Caridorc

@Caridorc Bagaimana tepatnya?
xnor

dengan menulisthing in n + restofstring
Caridorc

@Caricord Tidak yakin apa yang Anda maksud, itu lebih lama untuk dilakukann='0123' for a in n: for b in n+'456789ABCDEF':print a+b
xnor

2
@Caridorc Pintasan logam yang saya gunakan adalah bahwa menabung ke variabel biaya 4 chars, jadi perlu> 4 chars tabungan untuk mengkompensasi, jadi menyimpan 4 chars 0123untuk sesuatu yang lain tidak cukup.
xnor

5

JavaScript (ES6), 57 byte

Pendekatan yang sama seperti yang Python kurasa.

for(i of c='0123456789ABCDEF')for(j of c)console.log(i+j)

4

TI-Basic, 63 byte

:For(I,0,4,16⁻¹
:Disp sub(" 0123456789ABCDEF",1+16fPart(I),2
:Output(7,1,int(I
:End

Ini adalah 63 byte, menurut layar manajemen memori pada kalkulator saya, TI-84 +. Pastikan untuk memulai program dengan layar beranda yang terisi sebagian!


Apakah Anda ingat untuk mengurangi panjang header 9-byte dan nama program dari panjang kode?
lirtosiast

4

Befunge-93, 57 byte

<_v#-*44:+1,*84,g2:\,g2:\
^ >$1+:9-!#@_0
0123456789ABCDEF

Mencetak angka dari 00hingga 8F. Jika Anda lebih suka program Anda berjalan selamanya, versi di bawah ini tidak berhenti dan akan terus menampilkan semua angka dari 00hingga FF.

<_v#-*44:+1,*84,g2:\,g2:\
^ >$1+:35*`!*0
0123456789ABCDEF

Anda dapat menyimpan beberapa byte dalam -98 dengan <_v # -f: +1, ', g2: \, g2: \. Tidak dapat melihat banyak peningkatan di luar itu.
Jacob

0123456789ABCDEF01g::88+/2-0g,88+%0g,9,1+01p
Lynn

Itu 44 byte. Ini berulang selamanya, seperti solusi kedua Anda, dan mencetak hasil yang salah melewati 1F kedua. Ini membutuhkan implementasi (seperti implementasi referensi bef.c) yang secara diam-diam mengabaikan perintah yang tidak diketahui ( ABCDEF).
Lynn

(OP menyebutkan tidak apa-apa untuk solusi untuk "memecahkan" di suatu tempat melewati memukul 30- yang satu ini perlahan-lahan akan meluap tumpukan, jadi saya kira ada beberapa titik penghentian. Juga, output dipisahkan oleh tab; OP mengatakan ini baik-baik saja. ) Oh, implementasi Befunge yang Anda gunakan juga harus menginisialisasi seluruh torus 80x25 dengan spasi (ASCII 0x20).
Lynn

@Mauris Mengenai komentar Anda tentang implementasi yang perlu membuat seluruh torus dengan spasi, apakah ini akan mempengaruhi jumlah byte untuk kode saya yang disajikan? Saya hanya menghitung karakter yang diperlukan daripada mengisi sudut dengan spasi.
Sok

2

C, 78 75 byte

x(y){return y+48+y/10*7;}f(j){for(j=0;printf("%c%c ",x(j/16),x(15&j++)););}

Kami mendefinisikan suatu fungsi f()untuk dipanggil tanpa argumen untuk pencetakan, dan fungsi pembantu x(int). Ini rusak padaFF .

Hebatnya, ini satu byte lebih pendek dari yang lebih jelas:

char*s="0123456789ABCDEF";h(j){for(j=0;printf("%c%c ",s[j/16],s[15&j++]););}

Peringatan: tidak disarankan untuk menjalankan kode ini di luar lingkungan debug ...

Pengujian:

int main(int argc, char** argv) {
    f();
    return 0;
}

Keluaran:

00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 (...)

Tentu saja, pendekatan yang lebih kuat (dan cheat-y) adalah fungsi 34 byte ini:

g(i){for(i=0;printf("%x ",i++););}

1
Mulai mencoba ini tetapi jawaban saya terlalu mirip. Anda dapat menyimpan beberapa byte dengan membuat% c pertama menjadi% d dan menghilangkan fungsinya. Hanya valid hingga 9F saja.
Alchymist

return y+mungkin saja y+=.
Jonathan Frech

2

Pyth, 17 byte

VJs++kUT<G6FYJ+NY

Coba di sini

Bagaimana itu bekerja:

         <G6         # "abcdef"
       UT            # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
      k              # an empty string (so + means concatenation, not addition)
   s++               # join them all ("0123456789abcdef")
  J                  # call this J
 V                   # for each N in J...
            FYJ      # for each Y in J...
               +NY   # print N and Y

jb^+jkUT<G6 2menggunakan produk kartesius untuk melakukan hal yang sama, masih tampak golf ...
FryAmTheEggman

2

Javascript ES6, 67 62 byte

(x=''.replace.bind('0123456789ABCDEF',/./g))(n=>x(o=>' '+n+o))

2

J, 22 byte

>{;~'0123456789abcdef'

Diperhitungkan ff. Mencetak baris baru ekstra antara setiap blok 0x10angka, seperti:

...
0d
0e
0f

10
11
...

2

Gondong - 65 byte

S Q="0123456789ABCDEF" F I=1:1:16 F J=1:1:16 W $E(Q,I),$E(Q,J),!

Tidak ... Mumps belum mati! :-)


2

CJam, 22 byte

1{_GbA,6,'af++f=oNo)}h

Ini berjalan selamanya, dan dengan demikian mungkin merupakan salah satu saat yang jarang di mana itu adalah ide yang baik untuk tidak memasukkan permalink.


oNo sama dengan n di TIO.
Buah Esolanging

2

TheC64Mini dan Commodore BASIC (C64 / 128, PET, VIC-20, C16 / + 4) - 164 BASIC dan Tokenized bytes digunakan

 0 fOd=.to255:n=d:fOi=1to.stE-1:h%(i)=n/(16^i):n=n-(h%(i)*(16^i)):nEi:h$=""
 1 fOi=1to.stE-1:ifh%(i)<10tHh$=h$+cH(48+h%(i))
 2 ifh%(i)>9tHh$=h$+cH(55+h%(i))
 3 nEi:?h$"  ";:nEd

Mencetak spasi ganda setelah nomor heks untuk menyelaraskan pencetakan pada 40/80 kolom dan 22 kolom pada VIC-20.

Penghitung Commodore Plus / 4 Hex innit


2

brainfuck , 2902 byte

Mudah dikalahkan, tetapi patut dicoba

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

Cobalah online!


Ini akan lebih pendek jika Anda hanya menghasilkan karakter 0-Fdan kemudian mencetak dengan hardcode. Bagaimana Anda bisa membuatnya begitu lama?
Jo King

@JoKing mungkin, tapi saya hanya ingin bersenang
Krzysztof Szewczyk

Apakah komentar itu bukan pengakuan bahwa jawaban ini bukan lawan yang serius untuk kriteria pemenang tantangan?
pppery

1

Python 2, 66 55 Bytes

Ini seharusnya menjadi pendekatan yang paling jelas bagi saya ..

a='0123456789ABCDEF'
for x in a:
 for y in a:print x+y

Lama (66 Bytes) : Secara teknis ini menyebabkan kesalahan setelah FF, tetapi tidak mencapai 30.

n=1;a='0123456789ABCDEF'
while 1:print a[n/16]*(n>15)+a[n%16];n+=1

Saya berasumsi pemformatan string tidak diizinkan karena saya cukup yakin itu akan melalui konversi basis, tetapi jika diizinkan, ini akan menjadi 29 byte:

n=1
while 1:print"%x"%n;n+=1

1

Java, 104 byte

char t[]="0123456789abcdef".toCharArray(),i;void f(){for(;i<99;)System.out.println(""+t[i/16]+t[i++%16]);}

Jika i<99dihapus, masih mencapai 30, tetapi akhirnya macet. Saya tidak yakin apakah itu dapat diterima.


1

J, 47 byte

'0123456789abcdef'{~([:|:2 256$(]#i.),256$i.)16

mencetak 00 hingga dst


1
Cara yang jauh lebih singkat:>{;~'0123456789abcdef'
Lynn

Wow, bagus sekali! Tetapi mengapa Anda tidak mempostingnya sebagai jawaban, hanya 22 byte!
gar

1

JavaScript 74 72 65 60

//for(i=0,a="0123456789ABCDEF";i++<49;)console.log(a[i>>4]+a[i%16])
for(i=0;i++<48;)console.log((i>>4)+"0123456789ABCDEF"[i%16])


1

Perl 6 , 34 byte

Cara terpendek yang dapat saya lakukan yang tidak menggunakan konversi apa pun adalah:

put [X~] (|(0..9),|('A'..'F'))xx 2 # 34 bytes

cetakan 00... FFruang dipisahkan secara berurutan.
Jika Anda menginginkan lebih, Anda dapat menukar 2dengan jumlah yang lebih besar.
(jangan menggunakan angka yang lebih besar dari 4 karena menggabungkan nilai-nilai bersama sebelum mengeluarkan apa pun, sehingga akan menggunakan jumlah RAM yang signifikan)


Terpendek yang tidak akan pernah berhenti menulis nilai hex

put [R~] (|(0..9),|('A'..'F'))[.polymod: 16 xx*]for 0..* # 56 bytes

Jika printfdiizinkan

printf "%X ",$_ for 0..* # 24 bytes

Jika fungsi konversi basis diizinkan

put .base(16)for 0..* # 21 bytes

1

C ++ 14 - 135

#include<string>
#include<iostream>
void f(){std::string a="0123",b="0123456789ABCDEF";for(char c:a)for(char d:b)std::cout<<c<<d<<" ";}

Tidak, tidak apa-apa. Kompiler apa yang Anda gunakan? Saya dapatkan 'string' is not a member of 'std'dengan milik saya.
Dennis

@ Dennis Itu poin yang bagus. Saya selalu lupa bahwa itu memerlukan termasuk string seperti miliknya. Tetap.
Yytsi

1. Saya mendapatkan kesalahan yang sama coutjuga. Saya kira Anda iostreamjuga perlu . 2. Mencetak angka-angka tanpa pemisahan. Tantangannya membutuhkan spasi, tab, atau baris baru. 3. Anda harus menyebutkan versi C ++ yang diperlukan.
Dennis

1

jq 1,5: 65 59 karakter

(56 karakter kode + 3 opsi opsi baris perintah.)

[range(10)]+"a b c d e f"/" "|{a:.[],b:.}|"\(.a)\(.b[])"

Contoh dijalankan:

bash-4.3$ jq -n -r '[range(10)]+"a b c d e f"/" "|{a:.[],b:.}|"\(.a)\(.b[])"' | head
00
01
02
03
04
05
06
07
08
09

Tes online (Melewati -rURL tidak didukung - periksa sendiri Output Raw.)

jq 1,5: 56 karakter

(53 karakter kode + 3 opsi opsi baris perintah.)

[[range(10)]+"a b c d e f"/" "|"\(.[])\(.[])"]|sort[]

Ini menghasilkan output yang benar, namun bukan penghitung: tidak menghasilkan nilai-nilai secara berurutan, cukup mengurutkannya setelah itu.

Tes online (Melewati -rURL tidak didukung - periksa sendiri Output Raw.)


tautan Anda untuk jq tidak berfungsi, dan ketika saya memperbaikinya dikatakan tidak ada file indeks di github: P
fase

Ups. Terima kasih @Phase. Saya terlalu berkonsentrasi pada jumlah karakter.
manatwork

1

Dyalog APL , 12 byte

       ∘.,⍨16↑⎕D,⎕A
 00  01  02  03  04  05  06  07  08  09  0A  0B  0C  0D  0E  0F 
 10  11  12  13  14  15  16  17  18  19  1A  1B  1C  1D  1E  1F 
 20  21  22  23  24  25  26  27  28  29  2A  2B  2C  2D  2E  2F 
 30  31  32  33  34  35  36  37  38  39  3A  3B  3C  3D  3E  3F 
 40  41  42  43  44  45  46  47  48  49  4A  4B  4C  4D  4E  4F 
 50  51  52  53  54  55  56  57  58  59  5A  5B  5C  5D  5E  5F 
 60  61  62  63  64  65  66  67  68  69  6A  6B  6C  6D  6E  6F 
 70  71  72  73  74  75  76  77  78  79  7A  7B  7C  7D  7E  7F 
 80  81  82  83  84  85  86  87  88  89  8A  8B  8C  8D  8E  8F 
 90  91  92  93  94  95  96  97  98  99  9A  9B  9C  9D  9E  9F 
 A0  A1  A2  A3  A4  A5  A6  A7  A8  A9  AA  AB  AC  AD  AE  AF 
 B0  B1  B2  B3  B4  B5  B6  B7  B8  B9  BA  BB  BC  BD  BE  BF 
 C0  C1  C2  C3  C4  C5  C6  C7  C8  C9  CA  CB  CC  CD  CE  CF 
 D0  D1  D2  D3  D4  D5  D6  D7  D8  D9  DA  DB  DC  DD  DE  DF 
 E0  E1  E2  E3  E4  E5  E6  E7  E8  E9  EA  EB  EC  ED  EE  EF 
 F0  F1  F2  F3  F4  F5  F6  F7  F8  F9  FA  FB  FC  FD  FE  FF 

Untuk sekali, APL cocok dengan Pyth.
Adám

1

Malbolge , 900 byte

Untuk ditingkatkan ...

D'``@"\7}|X9E1gwuR21=p(:9%IZYEg}eA/ya>O_)([Zvotm3qponmfN+Lbg`ed]\"CB^W\Uy<;WVONSLp3ONMLEDhH*)?>b%A@?87[;:9876/S3,P0/.-&J$)"'~D|{"y?}|utyr8potmrqpi/mfN+Lbg`e^$bDZ_^]VzZSXQVUTSLp3ONMLEDhH*)EDCB;@?8\6|:32V6v.32+O)o'&J*)i'&%|Bcb~w|u;yxwvutVrkj0nmfN+iKg`_%cE[`Y}@V[ZYXWPtT6LKJImM/KJIBAe(D=<A:98\[;{32V6v.-,P0).',%I)"!E%|#"y?w_{ts9Zvutsrkpi/mfNjihg`e^$b[Z~X]\[ZYRv98TSLKoO10FKDh+GFE>CB;_?>=}|49870/.R2+*Non&%I#"!&%${A!~}_u;yxqpo5mrqpoh.lkdibgf_%]\[!_XW{[ZYXQPt7SRQPOHGkKJIHAF?cC<;@?8\6;492V6v.-,P*p.'K+$j"'~D|#"y~wv<]yxqvutsrk1onmfN+cba`&d]#DZ_^]VzTSXQVOs65QJINGkE-IBAe(D=<A:98\654981Uv.32+*)M-,%k#(!E}$#"!x>v{t:xwputm3kpoh.fN+Lbg`ed]\"!Y^]VzZYXQVOsS54JImMFKJIHAe?>C<`@?87[;{32V05.-2+O)o-,+$H('&}Cdzy~wv<]sxqvonm3k1oQmf,jihgfeG]#a`_X|V[TxXQPUTMLp3ONMLEDhH*)ED=a;@?>76;4X816/43,P*).',%I#i!&}|Bcb~w|u;yxwputm3qSong-kjihgfH%]\a`_XW{UTYXQuUTMRKPOHlFKDhBAe?>=B;_9>=6Z:981Uv.32+*)M-,%k#(!E%$#c!x>|u;yxZpo5srqSi/z

Cobalah online!


1

Zsh, 44 29 byte

-15 , via GammaFunction,   coba online!

h=({0..9} {a..f});echo $^h$^h

Asli (44 byte): g=0123456789abcdef;h=(${(s::)g});echo $^h$^h


1
Alih-alih mengkonversi ke array, Anda dapat mulai dari sana: h=({0..9} {a..f}). 29 byte
GammaFunction

Terima kasih! zsh sangat golfable :)
roblogic


1

8088 Assembly, IBM PC DOS, 34 byte

Bytes xxd:

00000000: 43e8 0900 e806 00b0 20cd 10eb f3b1 04d2  C....... .......
00000010: c38a c324 0f3c 0a7c 0204 0704 30b4 0ecd  ...$.<.|....0...
00000020: 10c3

Belum dirakit:

        BYTE_LOOP: 
43          INC  BX             ; increment counter  
E8 0009     CALL HB             ; display high byte 
E8 0006     CALL HB             ; display low byte 
B0 20       MOV  AL, ' '        ; display space delimiter
CD 10       INT  10H            ; call BIOS, write char to console 
EB F3       JMP  BYTE_LOOP      ; keep looping forever
        HB PROC 
B1 04       MOV  CL, 4          ; set up bitshift for 4 bits 
D2 C3       ROL  BL, CL         ; shift counter left 4 bits 
8A C3       MOV  AL, BL         ; put counter into AL 
24 0F       AND  AL, 0FH        ; isolate nibble 
3C 0A       CMP  AL, 0AH        ; is nibble A-F? 
7C 02       JL   NOT_ALPHA      ; if not, skip adjustment 
04 07       ADD  AL, 'A'-'9'-1  ; adjust ASCII value to A-F 
        NOT_ALPHA: 
04 30       ADD  AL, '0'        ; decimal to binary convert
B4 0E       MOV  AH, 0EH        ; BIOS tty function
CD 10       INT  10H            ; call BIOS, write char to console 
C3          RET                 ; return to program
        HB ENDP

Standalone PC DOS dapat dikonfigurasi, keluarannya adalah konsol dan akan terus ditampilkan hingga program dihentikan. Hanya program manipulasi awal ASCII di sini. Tidak ada built-in atau metode kenyamanan di x86 atau DOS / API API untuk mengkonversi nilai biner ke string untuk output.

Keluaran:

masukkan deskripsi gambar di sini


1

MUMPS , 57 byte

f i=1:1:48 w $tr(i\16,0),$e("0123456789abcdef",i#16+1),!

Keluaran

>d ^xmsdgolf
1
2
3
4
5
6
7
8
9
a
b
c
d
e
f
10
11
..
28
29
2a
2b
2c
2d
2e
2f
30

Penjelasan

f i=1:1:48                     ; loop from 1 to 48
w $tr(i\16,0)                  ; print i div 16, and ditch any zeros
$e("0123456789abcdef",i#16+1)  ; extract the nth character from the string, where n is i mod 16 + 1
!                              ; crlf

0

Haskell, 52 byte

a="0123456789abcdef";main=mapM putStrLn$mapM id[a,a]

0

Python 2 - 57 byte

h='0123456789ABCDEF'
' '.join([i+j for i in h for j in h])

Ini menghasilkan 00 hingga FF, dengan spasi di antara.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.