Python mengonversi hex ke biner dengan nol di depan

Dengan Python, Anda dapat menangani angka dan string sebagai biner (dalam), oktal (oktal), dan heksadesimal (hex) serta desimal. Mereka juga dapat dikonversi satu sama lain

Artikel ini menjelaskan konten berikut

  • Tulis bilangan bulat dalam notasi biner, oktal, dan heksadesimal
  • Mengonversi angka menjadi string biner, oktal, dan heksadesimal
    • print(type(bin_num)) print(type(oct_num)) print(type(hex_num)) # <class 'int'> # <class 'int'> # <class 'int'> print(type(Bin_num)) print(type(Oct_num)) print(type(Hex_num)) # <class 'int'> # <class 'int'> # <class 'int'> 2, print(type(bin_num)) print(type(oct_num)) print(type(hex_num)) # <class 'int'> # <class 'int'> # <class 'int'> print(type(Bin_num)) print(type(Oct_num)) print(type(Hex_num)) # <class 'int'> # <class 'int'> # <class 'int'> 3, print(type(bin_num)) print(type(oct_num)) print(type(hex_num)) # <class 'int'> # <class 'int'> # <class 'int'> print(type(Bin_num)) print(type(Oct_num)) print(type(Hex_num)) # <class 'int'> # <class 'int'> # <class 'int'> 4
    • print(type(bin_num)) print(type(oct_num)) print(type(hex_num)) # <class 'int'> # <class 'int'> # <class 'int'> print(type(Bin_num)) print(type(Oct_num)) print(type(Hex_num)) # <class 'int'> # <class 'int'> # <class 'int'> 5, print(type(bin_num)) print(type(oct_num)) print(type(hex_num)) # <class 'int'> # <class 'int'> # <class 'int'> print(type(Bin_num)) print(type(Oct_num)) print(type(Hex_num)) # <class 'int'> # <class 'int'> # <class 'int'> 6, f-string
    • Ubah bilangan bulat negatif menjadi string dalam representasi komplemen dua
  • Mengonversi string biner, oktal, dan heksadesimal menjadi angka
    • print(type(bin_num)) print(type(oct_num)) print(type(hex_num)) # <class 'int'> # <class 'int'> # <class 'int'> print(type(Bin_num)) print(type(Oct_num)) print(type(Hex_num)) # <class 'int'> # <class 'int'> # <class 'int'> _7
  • Contoh penggunaan
    • Aritmatika string biner
    • Konversi antara bilangan biner, oktal, dan heksadesimal

Lihat artikel berikut untuk mengetahui dasar-dasar konversi antara string (print(type(bin_num)) print(type(oct_num)) print(type(hex_num)) # <class 'int'> # <class 'int'> # <class 'int'> print(type(Bin_num)) print(type(Oct_num)) print(type(Hex_num)) # <class 'int'> # <class 'int'> # <class 'int'> 8) dan angka (print(type(bin_num)) print(type(oct_num)) print(type(hex_num)) # <class 'int'> # <class 'int'> # <class 'int'> print(type(Bin_num)) print(type(Oct_num)) print(type(Hex_num)) # <class 'int'> # <class 'int'> # <class 'int'> 9, result = 0b10 * 0o10 + 0x10 print(result) # 32 0)

  • Konversi string menjadi angka (int, float) dengan Python

Tautan Bersponsor

Tulis bilangan bulat dalam notasi biner, oktal, dan heksadesimal

Dengan menambahkan awalan result = 0b10 * 0o10 + 0x10 print(result) # 32 _1, result = 0b10 * 0o10 + 0x10 print(result) # 32 2, dan result = 0b10 * 0o10 + 0x10 print(result) # 32 3, bilangan bulat bertipe print(type(bin_num)) print(type(oct_num)) print(type(hex_num)) # <class 'int'> # <class 'int'> # <class 'int'> print(type(Bin_num)) print(type(Oct_num)) print(type(Hex_num)) # <class 'int'> # <class 'int'> # <class 'int'> 9 dapat ditulis dalam bilangan biner, oktal, dan heksadesimal. Output dari result = 0b10 * 0o10 + 0x10 print(result) # 32 _5 akan menjadi notasi desimal

bin_num = 0b10 oct_num = 0o10 hex_num = 0x10 print(bin_num) print(oct_num) print(hex_num) # 2 # 8 # 16

sumber.

Anda juga dapat menggunakan huruf besar result = 0b10 * 0o10 + 0x10 print(result) # 32 _6, result = 0b10 * 0o10 + 0x10 print(result) # 32 7, dan result = 0b10 * 0o10 + 0x10 print(result) # 32 8

Bin_num = 0B10 Oct_num = 0O10 Hex_num = 0X10 print(Bin_num) print(Oct_num) print(Hex_num) # 2 # 8 # 16

sumber.

Bahkan dengan awalan, tipenya adalah bilangan bulat print(type(bin_num)) print(type(oct_num)) print(type(hex_num)) # <class 'int'> # <class 'int'> # <class 'int'> print(type(Bin_num)) print(type(Oct_num)) print(type(Hex_num)) # <class 'int'> # <class 'int'> # <class 'int'> 9

print(type(bin_num)) print(type(oct_num)) print(type(hex_num)) # <class 'int'> # <class 'int'> # <class 'int'> print(type(Bin_num)) print(type(Oct_num)) print(type(Hex_num)) # <class 'int'> # <class 'int'> # <class 'int'>

sumber.

Karena print(type(bin_num)) print(type(oct_num)) print(type(hex_num)) # <class 'int'> # <class 'int'> # <class 'int'> print(type(Bin_num)) print(type(Oct_num)) print(type(Hex_num)) # <class 'int'> # <class 'int'> # <class 'int'> _9, mereka dapat dioperasikan seperti biasa

result = 0b10 * 0o10 + 0x10 print(result) # 32 _

sumber.

Di Python3. 6 dan yang lebih baru, Anda dapat menyisipkan garis bawah print(0b111111111111 == 0b1_1_1_1_1_1_1_1_1_1_1_1) # True bin_num = 0b1111_1111_1111 print(bin_num) # 4095 1 dalam angka. Mengulangi garis bawah print(0b111111111111 == 0b1_1_1_1_1_1_1_1_1_1_1_1) # True bin_num = 0b1111_1111_1111 print(bin_num) # 4095 _1 menimbulkan kesalahan, tetapi Anda dapat memasukkan sebanyak yang Anda suka jika tidak diulang

Garis bawah print(0b111111111111 == 0b1_1_1_1_1_1_1_1_1_1_1_1) # True bin_num = 0b1111_1111_1111 print(bin_num) # 4095 1 dapat digunakan sebagai pembatas bila terdapat banyak digit. Misalnya, lebih mudah dibaca jika Anda memasukkan print(0b111111111111 == 0b1_1_1_1_1_1_1_1_1_1_1_1) # True bin_num = 0b1111_1111_1111 print(bin_num) # 4095 1 setiap empat digit

print(0b111111111111 == 0b1_1_1_1_1_1_1_1_1_1_1_1) # True bin_num = 0b1111_1111_1111 print(bin_num) # 4095

sumber.

Mengonversi angka menjadi string biner, oktal, dan heksadesimal

Anda dapat menggunakan fungsi berikut untuk mengonversi angka menjadi string biner, oktal, atau heksadesimal

  • Fungsi bawaan print(type(bin_num)) print(type(oct_num)) print(type(hex_num)) # <class 'int'> # <class 'int'> # <class 'int'> print(type(Bin_num)) print(type(Oct_num)) print(type(Hex_num)) # <class 'int'> # <class 'int'> # <class 'int'> 2, print(type(bin_num)) print(type(oct_num)) print(type(hex_num)) # <class 'int'> # <class 'int'> # <class 'int'> print(type(Bin_num)) print(type(Oct_num)) print(type(Hex_num)) # <class 'int'> # <class 'int'> # <class 'int'> 3, print(type(bin_num)) print(type(oct_num)) print(type(hex_num)) # <class 'int'> # <class 'int'> # <class 'int'> print(type(Bin_num)) print(type(Oct_num)) print(type(Hex_num)) # <class 'int'> # <class 'int'> # <class 'int'> 4
  • Fungsi bawaan print(type(bin_num)) print(type(oct_num)) print(type(hex_num)) # <class 'int'> # <class 'int'> # <class 'int'> print(type(Bin_num)) print(type(Oct_num)) print(type(Hex_num)) # <class 'int'> # <class 'int'> # <class 'int'> 5, metode string print(type(bin_num)) print(type(oct_num)) print(type(hex_num)) # <class 'int'> # <class 'int'> # <class 'int'> print(type(Bin_num)) print(type(Oct_num)) print(type(Hex_num)) # <class 'int'> # <class 'int'> # <class 'int'> 6, f-string

Ini juga menjelaskan cara mendapatkan string dalam representasi komplemen dua untuk nilai negatif

bin(), oct(), hex()

Fungsi bawaan print(type(bin_num)) print(type(oct_num)) print(type(hex_num)) # <class 'int'> # <class 'int'> # <class 'int'> print(type(Bin_num)) print(type(Oct_num)) print(type(Hex_num)) # <class 'int'> # <class 'int'> # <class 'int'> _2, print(type(bin_num)) print(type(oct_num)) print(type(hex_num)) # <class 'int'> # <class 'int'> # <class 'int'> print(type(Bin_num)) print(type(Oct_num)) print(type(Hex_num)) # <class 'int'> # <class 'int'> # <class 'int'> 3, dan print(type(bin_num)) print(type(oct_num)) print(type(hex_num)) # <class 'int'> # <class 'int'> # <class 'int'> print(type(Bin_num)) print(type(Oct_num)) print(type(Hex_num)) # <class 'int'> # <class 'int'> # <class 'int'> 4 dapat digunakan untuk mengubah angka menjadi string biner, oktal, dan heksadesimal. Fungsi ini mengembalikan string dengan awalan result = 0b10 * 0o10 + 0x10 print(result) # 32 1,result = 0b10 * 0o10 + 0x10 print(result) # 32 2, dan result = 0b10 * 0o10 + 0x10 print(result) # 32 3, masing-masing

i = 255 print(bin(i)) print(oct(i)) print(hex(i)) # 0b11111111 # 0o377 # 0xff print(type(bin(i))) print(type(oct(i))) print(type(hex(i))) # <class 'str'> # <class 'str'> # <class 'str'>

sumber.

Jika Anda tidak memerlukan awalan, gunakan slice i = 255 print(bin(i)) print(oct(i)) print(hex(i)) # 0b11111111 # 0o377 # 0xff print(type(bin(i))) print(type(oct(i))) print(type(hex(i))) # <class 'str'> # <class 'str'> # <class 'str'> 6 untuk mengekstrak string yang tertinggal atau gunakan print(type(bin_num)) print(type(oct_num)) print(type(hex_num)) # <class 'int'> # <class 'int'> # <class 'int'> print(type(Bin_num)) print(type(Oct_num)) print(type(Hex_num)) # <class 'int'> # <class 'int'> # <class 'int'> 5 seperti yang dijelaskan selanjutnya

  • Cara mengiris daftar, string, tuple dengan Python

print(bin(i)[2:]) print(oct(i)[2:]) print(hex(i)[2:]) # 11111111 # 377 # ff

sumber.

Jika Anda ingin mengonversi ke string desimal, gunakan i = 255 print(bin(i)) print(oct(i)) print(hex(i)) # 0b11111111 # 0o377 # 0xff print(type(bin(i))) print(type(oct(i))) print(type(hex(i))) # <class 'str'> # <class 'str'> # <class 'str'> 8

print(str(i)) # 255 print(type(str(i))) # <class 'str'>

sumber.

format(), str. format(), f-string

Fungsi bawaan print(type(bin_num)) print(type(oct_num)) print(type(hex_num)) # <class 'int'> # <class 'int'> # <class 'int'> print(type(Bin_num)) print(type(Oct_num)) print(type(Hex_num)) # <class 'int'> # <class 'int'> # <class 'int'> 5, metode string print(type(bin_num)) print(type(oct_num)) print(type(hex_num)) # <class 'int'> # <class 'int'> # <class 'int'> print(type(Bin_num)) print(type(Oct_num)) print(type(Hex_num)) # <class 'int'> # <class 'int'> # <class 'int'> 6, dan f-string juga dapat digunakan untuk mengonversi angka menjadi string biner, oktal, dan heksadesimal

Dengan menentukan print(bin(i)[2:]) print(oct(i)[2:]) print(hex(i)[2:]) # 11111111 # 377 # ff 1, print(bin(i)[2:]) print(oct(i)[2:]) print(hex(i)[2:]) # 11111111 # 377 # ff 2 dan print(bin(i)[2:]) print(oct(i)[2:]) print(hex(i)[2:]) # 11111111 # 377 # ff 3 dalam string spesifikasi format dari argumen kedua print(type(bin_num)) print(type(oct_num)) print(type(hex_num)) # <class 'int'> # <class 'int'> # <class 'int'> print(type(Bin_num)) print(type(Oct_num)) print(type(Hex_num)) # <class 'int'> # <class 'int'> # <class 'int'> 5, sebuah angka dapat dikonversi menjadi string biner, oktal, dan heksadesimal, berturut-turut

print(format(i, 'b')) print(format(i, 'o')) print(format(i, 'x')) # 11111111 # 377 # ff print(type(format(i, 'b'))) print(type(format(i, 'o'))) print(type(format(i, 'x'))) # <class 'str'> # <class 'str'> # <class 'str'>

sumber.

Jika Anda ingin mendapatkan string karakter dengan awalan result = 0b10 * 0o10 + 0x10 print(result) # 32 1, result = 0b10 * 0o10 + 0x10 print(result) # 32 2, result = 0b10 * 0o10 + 0x10 print(result) # 32 3, tambahkan print(bin(i)[2:]) print(oct(i)[2:]) print(hex(i)[2:]) # 11111111 # 377 # ff 8 ke string spesifikasi format

print(format(i, '#b')) print(format(i, '#o')) print(format(i, '#x')) # 0b11111111 # 0o377 # 0xff

sumber.

Dimungkinkan juga untuk mengisi nol (print(bin(i)[2:]) print(oct(i)[2:]) print(hex(i)[2:]) # 11111111 # 377 # ff _9) dengan sejumlah digit. Perhatikan bahwa jumlah karakter untuk awalan (dua karakter) juga harus diperhitungkan saat mengisi nol dengan awalan

Bin_num = 0B10 Oct_num = 0O10 Hex_num = 0X10 print(Bin_num) print(Oct_num) print(Hex_num) # 2 # 8 # 16 _0

sumber.

Metode string print(type(bin_num)) print(type(oct_num)) print(type(hex_num)) # <class 'int'> # <class 'int'> # <class 'int'> print(type(Bin_num)) print(type(Oct_num)) print(type(Hex_num)) # <class 'int'> # <class 'int'> # <class 'int'> _6 dapat digunakan untuk konversi yang sama

Bin_num = 0B10 Oct_num = 0O10 Hex_num = 0X10 print(Bin_num) print(Oct_num) print(Hex_num) # 2 # 8 # 16 _1

sumber.

Untuk detail tentang print(type(bin_num)) print(type(oct_num)) print(type(hex_num)) # <class 'int'> # <class 'int'> # <class 'int'> print(type(Bin_num)) print(type(Oct_num)) print(type(Hex_num)) # <class 'int'> # <class 'int'> # <class 'int'> 5 dan print(type(bin_num)) print(type(oct_num)) print(type(hex_num)) # <class 'int'> # <class 'int'> # <class 'int'> print(type(Bin_num)) print(type(Oct_num)) print(type(Hex_num)) # <class 'int'> # <class 'int'> # <class 'int'> 6, termasuk string spesifikasi format, lihat artikel berikut

  • Format string dan angka dengan format() dengan Python

Dalam Python 3. 6 atau lebih baru, Anda juga dapat menggunakan f-string untuk menulis dengan lebih ringkas

  • Cara menggunakan f-string dengan Python

Bin_num = 0B10 Oct_num = 0O10 Hex_num = 0X10 print(Bin_num) print(Oct_num) print(Hex_num) # 2 # 8 # 16 _2

sumber.

Ubah bilangan bulat negatif menjadi string dalam representasi komplemen dua

Saat menggunakan print(type(bin_num)) print(type(oct_num)) print(type(hex_num)) # <class 'int'> # <class 'int'> # <class 'int'> print(type(Bin_num)) print(type(Oct_num)) print(type(Hex_num)) # <class 'int'> # <class 'int'> # <class 'int'> _2 atau print(type(bin_num)) print(type(oct_num)) print(type(hex_num)) # <class 'int'> # <class 'int'> # <class 'int'> print(type(Bin_num)) print(type(Oct_num)) print(type(Hex_num)) # <class 'int'> # <class 'int'> # <class 'int'> 5, bilangan bulat negatif diubah menjadi nilai absolut dengan tanda minus

Bin_num = 0B10 Oct_num = 0O10 Hex_num = 0X10 print(Bin_num) print(Oct_num) print(Hex_num) # 2 # 8 # 16 _3

sumber.

Dalam Python, operasi bitwise pada bilangan bulat negatif dilakukan dalam representasi komplemen dua, jadi jika Anda ingin mendapatkan string yang diekspresikan dalam representasi komplemen dua, ambil bitwise-dan print(str(i)) # 255 print(type(str(i))) # <class 'str'> 5 dari jumlah digit maksimum yang diperlukan, misalnya, print(str(i)) # 255 print(type(str(i))) # <class 'str'> 6 (= print(str(i)) # 255 print(type(str(i))) # <class 'str'> 7

  • Pelengkap dua - Wikipedia

Bin_num = 0B10 Oct_num = 0O10 Hex_num = 0X10 print(Bin_num) print(Oct_num) print(Hex_num) # 2 # 8 # 16 _4

sumber.

Tautan Bersponsor

Mengonversi string biner, oktal, dan heksadesimal menjadi angka

int()

Gunakan fungsi bawaan print(type(bin_num)) print(type(oct_num)) print(type(hex_num)) # <class 'int'> # <class 'int'> # <class 'int'> print(type(Bin_num)) print(type(Oct_num)) print(type(Hex_num)) # <class 'int'> # <class 'int'> # <class 'int'> _7 untuk mengonversi string biner, oktal, dan heksadesimal menjadi angka

Anda dapat mengonversi string biner, oktal, dan heksadesimal menjadi bilangan bulat berdasarkan radix dengan print(format(i, 'b')) print(format(i, 'o')) print(format(i, 'x')) # 11111111 # 377 # ff print(type(format(i, 'b'))) print(type(format(i, 'o'))) print(type(format(i, 'x'))) # <class 'str'> # <class 'str'> # <class 'str'> 1. Jika print(format(i, 'b')) print(format(i, 'o')) print(format(i, 'x')) # 11111111 # 377 # ff print(type(format(i, 'b'))) print(type(format(i, 'o'))) print(type(format(i, 'x'))) # <class 'str'> # <class 'str'> # <class 'str'> 2 dihilangkan, itu dianggap sebagai angka desimal

Bin_num = 0B10 Oct_num = 0O10 Hex_num = 0X10 print(Bin_num) print(Oct_num) print(Hex_num) # 2 # 8 # 16 _5

sumber.

Jika Anda mengatur print(format(i, 'b')) print(format(i, 'o')) print(format(i, 'x')) # 11111111 # 377 # ff print(type(format(i, 'b'))) print(type(format(i, 'o'))) print(type(format(i, 'x'))) # <class 'str'> # <class 'str'> # <class 'str'> 2 ke print(bin(i)[2:]) print(oct(i)[2:]) print(hex(i)[2:]) # 11111111 # 377 # ff 9, itu akan dikonversi sesuai dengan awalan (result = 0b10 * 0o10 + 0x10 print(result) # 32 1, result = 0b10 * 0o10 + 0x10 print(result) # 32 2, result = 0b10 * 0o10 + 0x10 print(result) # 32 3 atau result = 0b10 * 0o10 + 0x10 print(result) # 32 6, result = 0b10 * 0o10 + 0x10 print(result) # 32 7, result = 0b10 * 0o10 + 0x10 print(result) # 32 8)

Bin_num = 0B10 Oct_num = 0O10 Hex_num = 0X10 print(Bin_num) print(Oct_num) print(Hex_num) # 2 # 8 # 16 _6

sumber.

Ketika print(format(i, 'b')) print(format(i, 'o')) print(format(i, 'x')) # 11111111 # 377 # ff print(type(format(i, 'b'))) print(type(format(i, 'o'))) print(type(format(i, 'x'))) # <class 'str'> # <class 'str'> # <class 'str'> 2 adalah print(bin(i)[2:]) print(oct(i)[2:]) print(hex(i)[2:]) # 11111111 # 377 # ff 9, string tanpa awalan diubah menjadi angka desimal. Dalam hal ini, perhatikan bahwa kesalahan akan terjadi jika bagian awal (sisi kiri) diisi dengan print(bin(i)[2:]) print(oct(i)[2:]) print(hex(i)[2:]) # 11111111 # 377 # ff 9

Bin_num = 0B10 Oct_num = 0O10 Hex_num = 0X10 print(Bin_num) print(Oct_num) print(Hex_num) # 2 # 8 # 16 _7

sumber.

Dalam kasus lain, string yang diisi dengan print(bin(i)[2:]) print(oct(i)[2:]) print(hex(i)[2:]) # 11111111 # 377 # ff 9 dapat dikonversi

Bin_num = 0B10 Oct_num = 0O10 Hex_num = 0X10 print(Bin_num) print(Oct_num) print(Hex_num) # 2 # 8 # 16 _8

sumber.

Kesalahan dimunculkan jika string tidak dapat dikonversi berdasarkan radix atau awalan yang ditentukan

Bin_num = 0B10 Oct_num = 0O10 Hex_num = 0X10 print(Bin_num) print(Oct_num) print(Hex_num) # 2 # 8 # 16 _9

sumber.

Contoh penggunaan

Aritmatika string biner

Misalnya, jika Anda ingin mengoperasikan string biner dengan awalan result = 0b10 * 0o10 + 0x10 print(result) # 32 1, Anda dapat dengan mudah mengubahnya menjadi integer print(type(bin_num)) print(type(oct_num)) print(type(hex_num)) # <class 'int'> # <class 'int'> # <class 'int'> print(type(Bin_num)) print(type(Oct_num)) print(type(Hex_num)) # <class 'int'> # <class 'int'> # <class 'int'> 9, mengoperasikan sesuatu, lalu mengubahnya kembali menjadi string print(type(bin_num)) print(type(oct_num)) print(type(hex_num)) # <class 'int'> # <class 'int'> # <class 'int'> print(type(Bin_num)) print(type(Oct_num)) print(type(Hex_num)) # <class 'int'> # <class 'int'> # <class 'int'> 8

print(type(bin_num)) print(type(oct_num)) print(type(hex_num)) # <class 'int'> # <class 'int'> # <class 'int'> print(type(Bin_num)) print(type(Oct_num)) print(type(Hex_num)) # <class 'int'> # <class 'int'> # <class 'int'> 0

sumber.

Konversi antara bilangan biner, oktal, dan heksadesimal

Juga mudah untuk mengonversi string biner, oktal, dan heksadesimal satu sama lain. Setelah diubah menjadi angka print(type(bin_num)) print(type(oct_num)) print(type(hex_num)) # <class 'int'> # <class 'int'> # <class 'int'> print(type(Bin_num)) print(type(Oct_num)) print(type(Hex_num)) # <class 'int'> # <class 'int'> # <class 'int'> 9, itu dapat diubah menjadi string dalam format apa pun

Bagaimana cara mengubah hex menjadi biner dengan angka nol di depan dengan Python?

Untuk mengonversi string heksadesimal menjadi string biner dengan digit '0' di depan, Anda dapat menggunakan fungsi zfill() pada hasil fungsi bin() setelah menggunakan slicing . )[ 2. ] untuk menghilangkan awalan biner '0b' . Metode string zfill() mengisi string dari kiri dengan karakter "0".

Bagaimana Anda terus memimpin angka nol dalam biner dengan Python?

format(num, name) fungsi dengan nama sebagai "0nb" untuk mengonversi bilangan bulat menjadi string biner dengan nol di depan hingga panjang n.

Bagaimana Anda mengubah nomor hex menjadi biner dengan Python?

Heksadesimal ke Biner menggunakan Fungsi . Fungsi ini menerima nilai sebagai argumennya dan mengembalikan nilai biner ekuivalennya menggunakan metode bin() dan int(). HexToBin(). This function receives a value as its argument and returns its equivalent binary value using bin() and int() method.

Bagaimana mengkonversi dari hex ke biner?

Heksadesimal ke biner .
Pisahkan nomor hex menjadi nilai individual
Ubah setiap nilai hex menjadi padanan desimalnya
Selanjutnya, ubah setiap digit desimal menjadi biner, pastikan untuk menulis empat digit untuk setiap nilai
Gabungkan keempat digit untuk membuat satu bilangan biner

Postingan terbaru

LIHAT SEMUA