EDIT. Saya juga perlu memastikan bahwa saya selalu mendapatkan terlalu banyak karakter. Jadi misalnya jika saya sedang mencari nilai hex dari 5 saya akan mendapatkan val1 = hex(100)[2:] val2 = hex(50)[2:] val3 = hex(int(val1, 16) - int(val2, 16))[2:] hex_str = str(val1) + str(val2) + str(val3) print(hex_str) 1
Solusi terbaik
mencoba
val1 = hex(100)[2:] val2 = hex(50)[2:] val3 = hex(int(val1, 16) - int(val2, 16))[2:] hex_str = str(val1) + str(val2) + str(val3) print(hex_str)Solusi Terkait
Python – Cara menghapus baris baru yang tertinggal
Coba metode val1 = hex(100)[2:] val2 = hex(50)[2:] val3 = hex(int(val1, 16) - int(val2, 16))[2:] hex_str = str(val1) + str(val2) + str(val3) print(hex_str) _2 (lihat doc dan )
>>> 'test string\n'.rstrip() 'test string'Metode val1 = hex(100)[2:] val2 = hex(50)[2:] val3 = hex(int(val1, 16) - int(val2, 16))[2:] hex_str = str(val1) + str(val2) + str(val3) print(hex_str) 2 Python menghapus semua jenis spasi kosong secara default, bukan hanya satu baris baru seperti yang dilakukan Perl dengan val1 = hex(100)[2:] val2 = hex(50)[2:] val3 = hex(int(val1, 16) - int(val2, 16))[2:] hex_str = str(val1) + str(val2) + str(val3) print(hex_str) 4
>>> 'test string \n \r\n\n\r \n\n'.rstrip() 'test string' _Untuk menghapus hanya baris baru
>>> 'test string \n \r\n\n\r \n\n'.rstrip('\n') 'test string \n \r\n\n\r 'Selain val1 = hex(100)[2:] val2 = hex(50)[2:] val3 = hex(int(val1, 16) - int(val2, 16))[2:] hex_str = str(val1) + str(val2) + str(val3) print(hex_str) _2, ada juga metode val1 = hex(100)[2:] val2 = hex(50)[2:] val3 = hex(int(val1, 16) - int(val2, 16))[2:] hex_str = str(val1) + str(val2) + str(val3) print(hex_str) 6 dan val1 = hex(100)[2:] val2 = hex(50)[2:] val3 = hex(int(val1, 16) - int(val2, 16))[2:] hex_str = str(val1) + str(val2) + str(val3) print(hex_str) 7. Berikut adalah contoh dengan mereka bertiga
❮ Fungsi Bawaan
Definisi dan Penggunaan
Fungsi hex() mengubah angka yang ditentukan menjadi nilai heksadesimal
String yang dikembalikan selalu dimulai dengan awalan 0x
Sintaksis
Nilai Parameter
ParameterDeskripsibilanganInteger❮ Fungsi Bawaan
Bilangan biner adalah cara yang bagus bagi komputer untuk merepresentasikan angka. Mereka tidak banyak dapat dibaca manusia karena sangat panjang, dan butuh beberapa saat untuk menghitung semua digit (1 dan 0). Ketika ilmuwan komputer berurusan dengan angka, mereka sering menggunakan sistem desimal atau sistem heksadesimal
Sistem Bilangan Heksadesimal digunakan sebagai salah satu teknik Representasi Bilangan, dimana setiap digit mewakili pangkat 16. Seperti yang kita ketahui, sistem bilangan Desimal adalah sistem bilangan berbasis 10, demikian pula sistem bilangan Heksadesimal adalah sistem bilangan berbasis 16. Itu berarti ada 16 digit heksadesimal. Mereka sama dengan angka desimal hingga 9, tetapi kemudian ada huruf A, B, C, D, E, dan F sebagai pengganti angka desimal 10 hingga 15. Perhatikan tabel di bawah ini untuk melihat representasi bilangan dalam Desimal, Biner, dan Heksadesimal
Desimal
Heksadesimal
Biner
0
0
0
1
1
1
2
2
10
3
3
11
4
4
100
5
5
101
6
6
110
7
7
111
8
8
1000
9
9
1001
10
A
1010
11
B
1011
12
C
1100
13
D
1101
14
E
1110
15
F
1111
Perhatikan bahwa bilangan heksadesimal ditunjukkan dengan awalan 0x atau akhiran print(type(hex(18)))
0.
Sekarang, mari kita lihat fungsi hex() di Python
Definisi hex()
hex()_ adalah fungsi bawaan di Python yang digunakan untuk mengembalikan format Heksadesimal dari angka yang diberikan. hex()_ mengambil argumen tipe integer tunggal dan mengembalikan representasi Heksadesimal yang setara dalam bentuk string.
Sintaks hex()
Perhatikan bahwa argumen print(type(hex(18))) _4harus bertipe integer
hex(number)
Kembali Jenis hex()
Format Heksadesimal dikembalikan sebagai output dari fungsi hex() adalah tipe string
print(type(hex(18)))
Contoh hex()
mystr = hex(10) print("The hexadecimal equivalent is", mystr) mystr1 = hex(-10) print("The hexadecimal equivalent is", mystr1) mystr2 = hex(255) print("The hexadecimal equivalent is", mystr2)
Setara heksadesimal adalah 0xa
Setara heksadesimal adalah -0xa
Setara heksadesimal adalah 0xff
Catatan. bahwa string yang dikembalikan selalu dimulai dengan awalan 0x
Untuk menghapus awalan 0x, kita dapat menggunakan pemotongan string dengan Python. Mari kita periksa
Kami mencetak print(type(hex(18)))
_7 yang mulai mencetak dari nilai indeks 2 hingga akhir string
mystr = hex(10) print("The hexadecimal equivalent is", mystr) print("The hexadecimal equivalent is", mystr[2:])
Setara heksadesimal adalah 0xa
Padanan heksadesimalnya adalah a
Sistem Bilangan Berbeda sebagai argumen
Fungsi hex()_ mengambil argumen tunggal bertipe integer. Itu bisa dalam format apa pun seperti Desimal, Biner, Oktal. Mari kita lihat contoh masing-masing
print(hex(200)) # 200 in decimal print(hex(0b11001000)) # 200 in binary print(hex(0o310)) # 200 in octal
0xc8
0xc8
0xc8
Dalam contoh di atas, kami memberikan angka 200 sebagai argumen untuk fungsi hex() dalam format Desimal, Biner, dan Oktal. Setara Heksadesimal diperoleh sebagai output
Catatan. 0x adalah awalan untuk format heksadesimal, mystr = hex(10) print("The hexadecimal equivalent is", mystr) mystr1 = hex(-10) print("The hexadecimal equivalent is", mystr1) mystr2 = hex(255) print("The hexadecimal equivalent is", mystr2) 1adalah awalan untuk format Biner, mystr = hex(10) print("The hexadecimal equivalent is", mystr) mystr1 = hex(-10) print("The hexadecimal equivalent is", mystr1) mystr2 = hex(255) print("The hexadecimal equivalent is", mystr2) 2 adalah awalan untuk format Oktal
Angka Mengambang sebagai argumen
Bisakah kita memberikan tipe data float sebagai argumen untuk fungsi hex()?
mystr = hex(10.2) print(mystr)
TypeError. objek 'float' tidak dapat diartikan sebagai bilangan bulat
Itu tidak berhasil. Apakah kita punya solusi untuk ini? . Mari kita periksa
mystr = float.hex(10.2) print(mystr)
0x1. 4666666666666p+3
Jadi, kita dapat melihat bahwa mystr = hex(10) print("The hexadecimal equivalent is", mystr) mystr1 = hex(-10) print("The hexadecimal equivalent is", mystr1) mystr2 = hex(255) print("The hexadecimal equivalent is", mystr2) _4 mencetak angka Heksadesimal yang setara tanpa menimbulkan kesalahan
hex() dengan Kelas dan Objek
Kita dapat menggunakan fungsi hex() dengan objek Kelas tetapi, untuk berhasil mendapatkannya, kita memerlukan metode khusus mystr = hex(10) print("The hexadecimal equivalent is", mystr) mystr1 = hex(-10) print("The hexadecimal equivalent is", mystr1) mystr2 = hex(255) print("The hexadecimal equivalent is", mystr2) 6 di Kelas kita. Tapi apa metode mystr = hex(10) print("The hexadecimal equivalent is", mystr) mystr1 = hex(-10) print("The hexadecimal equivalent is", mystr1) mystr2 = hex(255) print("The hexadecimal equivalent is", mystr2) _6 ini?
Metode mystr = hex(10) print("The hexadecimal equivalent is", mystr) mystr1 = hex(-10) print("The hexadecimal equivalent is", mystr1) mystr2 = hex(255) print("The hexadecimal equivalent is", mystr2) _6 adalah metode khusus yang dipanggil langsung saat kita menggunakan hex() dengan objek Kelas. Mari kita pahami dengan contoh di bawah ini
class Conversion: item = 0b1010 def __index__(self): print('inside the __index__() method') print(type(self.item)) return self.item myobj = Conversion() print("Hexadecimal equivalent is:",hex(myobj))
di dalam metode __index__()
Setara heksadesimal adalah. 0xa
Perhatikan contoh di atas dengan seksama. Kami memiliki Konversi kelas dan objeknya mystr = hex(10) print("The hexadecimal equivalent is", mystr) print("The hexadecimal equivalent is", mystr[2:]) 0. Kami memiliki variabel kelas mystr = hex(10) print("The hexadecimal equivalent is", mystr) print("The hexadecimal equivalent is", mystr[2:]) _1menyimpan nilai biner. Di dalam kelas mystr = hex(10) print("The hexadecimal equivalent is", mystr) print("The hexadecimal equivalent is", mystr[2:]) _2, kami juga memiliki metodemystr = hex(10) print("The hexadecimal equivalent is", mystr) mystr1 = hex(-10) print("The hexadecimal equivalent is", mystr1) mystr2 = hex(255) print("The hexadecimal equivalent is", mystr2) 6. Jadi yang terjadi adalah, ketika kita memanggil fungsi hex() dengan objek mystr = hex(10) print("The hexadecimal equivalent is", mystr) print("The hexadecimal equivalent is", mystr[2:]) 0sebagai argumennya, kontrol langsung menuju ke metodemystr = hex(10) print("The hexadecimal equivalent is", mystr) mystr1 = hex(-10) print("The hexadecimal equivalent is", mystr1) mystr2 = hex(255) print("The hexadecimal equivalent is", mystr2) 6 di mana nilai variabel mystr = hex(10) print("The hexadecimal equivalent is", mystr) print("The hexadecimal equivalent is", mystr[2:]) 1 dikembalikan dan dikonversi ke ekuivalen Heksadesimalnya.