Wise adalah bahasa bitwise sederhana yang saya rancang beberapa waktu lalu. Hal ini didasarkan pada operasi bitwise Python . Ini memiliki beberapa operasi sebagian besar adalah sama atau sangat mirip dengan simbol yang setara dengan Python.
:Gandakan bagian atas tumpukan?Putar bagian atas tumpukan ke bawah!Putar bagian bawah tumpukan ke atas[]lingkaran sementara bagian atas tumpukan tidak nol~bukan bagian atas tumpukan (-(n+1))-negasikan bagian atas tumpukan (-n)>bitshift bagian atas tumpukan satu kali ke kanan (n//2)<bithift bagian atas tumpukan sekali ke kiri (n*2)^xor dua item teratas dari tumpukan ( Sama seperti Python )|atau dua item teratas dari tumpukan ( Sama seperti Python )&dan dua item teratas dari tumpukan ( Sama seperti Python )
Membuat bilangan bulat di Wise cukup sederhana, Anda dapat membuat nol dengan ::^dan menambahkannya dengan ~-sehingga Anda membuat nol dan menambahnya beberapa kali. Namun jika kita menghapus -hal - hal menjadi sedikit lebih menarik.
Kami masih dapat membuat setiap angka menggunakan operasi yang tersisa. Misalnya di sini adalah 3
~<<~
Ini bekerja karena ~mengubah nol, string 0bit tak terbatas , menjadi negatif, string tak terbatas 1bit, masing-masing <menambahkan 0sedikit ke akhir, ketika kita selesai kita lakukan ~yang mengubahnya masing-masing menjadi string 0s diikuti oleh dua 1s , atau seperti kebanyakan orang menyebutnya 3.
Tugas
Tulis sebuah program yang ketika diberi bilangan bulat positif akan menampilkan program Wise yang akan membuat angka ntanpa -sumbernya (sumber output, Anda dapat menggunakan -sumber Anda sendiri). Anda dapat berasumsi bahwa sudah ada nol di atas tumpukan.
Ini adalah kode-golf bukan meta-golf sehingga Anda harus bertujuan untuk meminimalkan kode sumber yang menghasilkan belum tentu output.
Keluaran contoh
Daftar ini tidak lengkap mereka hanya mungkin keluaran
1 -> ~<~
2 -> ~<~<
3 -> ~<<~
4 -> ~<~<<
5 -> ~<~:<<|
6 -> ~<<~<
7 -> ~<<<~
8 -> ~<~<<<
9 -> ~<~:<<<|
10 -> ~<~:<<|<
11 -> ~<<~:><<<|
12 -> ~<<~<<
13 -> ~<<~:<<<|>
14 -> ~<<<~<
15 -> ~<<<<~
16 -> ~<~<<<<
:diterapkan pada tumpukan kosong mendorong a 0. Saya pikir ini harus ditentukan, karena tidak jelas bahwa duplikasi dari tumpukan kosong harus memberikan0
positive integers