Operator Unary di C++

Operator Unary Di C



Dalam C++, operator unary adalah operator yang hanya bekerja pada satu operan. Operator unary memainkan peran penting dalam C++ dengan memungkinkan manipulasi nilai yang terkait dengan variabel atau ekspresi tunggal. Operator serbaguna ini dapat digunakan dalam berbagai konteks seperti menambah atau mengurangi variabel, mengubah tanda nilai numerik, atau melakukan negasi logika. Artikel ini mengeksplorasi operator unary di C++ dengan membahas tipe dan aplikasinya serta memberikan banyak contoh untuk pemahaman yang lebih baik.

C++ mendukung beberapa operator unary, masing-masing memiliki tujuan unik dalam memanipulasi variabel. Mari kita mulai dengan operator kenaikan dan penurunan yang biasa digunakan dalam loop dan berbagai algoritma.

Contoh 1: Operator Kenaikan (++) dan Penurunan (–).

Operator unary kenaikan (++) dan penurunan (–) adalah alat dasar dalam C++ untuk mengubah nilai variabel dengan menambah atau menguranginya masing-masing sebesar 1. Operator kenaikan (++) menambahkan 1 pada nilai variabel, sedangkan operator penurunan (–) mengurangi 1. Operator ini dapat diterapkan pada variabel integer, floating-point, dan pointer, sehingga memberikan fleksibilitas dalam penggunaannya.







Mari kita jelajahi operator-operator ini melalui contoh praktis:



#termasuk
menggunakan ruang nama std ;

ke dalam utama ( )
{

ke dalam menangkal = 0 ;

// Operator kenaikan
cout << 'Nilai awal:' << menangkal << akhir ;

menangkal ++ ;
cout << 'Nilai setelah kenaikan:' << menangkal << akhir ;

// Penurunan operator
menangkal -- ;
cout << 'Nilai setelah dikurangi:' << menangkal << akhir ;

kembali 0 ;
}

Program C++ sederhana ini menyertakan pustaka aliran input/output yang diperlukan dengan “#include ”. Dalam fungsi “main()”, kita membuat instance variabel integer yang disebut “counter” dan menetapkannya dengan nilai awal 0. Dengan menggunakan pernyataan “cout”, kita mencetak nilai awal “counter” ke konsol, menyediakan dasar untuk demonstrasi kami. Selanjutnya, operator kenaikan (counter++) digunakan untuk menaikkan nilai variabel “counter” sebesar 1.



Setelah operasi ini, nilai “counter” yang diperbarui ditampilkan menggunakan pernyataan “cout” lainnya. Selanjutnya, kami menggunakan operator penurunan (counter—) untuk mengurangi nilai “counter” sebesar 1. Hasilnya kemudian ditampilkan di konsol. Pada akhirnya, program diakhiri dengan “return 0;” pernyataan yang menunjukkan eksekusi berhasil.





Gambar keluaran menunjukkan nilai awal, nilai setelah kenaikan, dan nilai pengurangan.



Contoh 2: Operator Positif (+) dan Negatif (-).

Meskipun operator unary positif jarang digunakan, operator negatif sangat penting untuk mengubah tanda suatu variabel.

#termasuk
Menggunakan ruang nama std ;

ke dalam utama ( ) {
ke dalam Nilai positif = 10 ;
ke dalam Nilai negatif = - Nilai positif ;

cout << 'Nilai positif:' << Nilai positif << akhir ;
cout << 'Nilai negatif:' << Nilai negatif << akhir ;

kembali 0 ;
}

Kami menginisialisasi dua variabel integer untuk kode contoh ini yaitu “positifValue” dan “negativeValue”. “PositiveValue” diberi nilai 10. Selanjutnya, kita mendeklarasikan “negativeValue” dan menetapkannya dengan negasi “positifValue” menggunakan operator minus unary. Operator ini secara efektif mengubah tanda dari nilai aslinya. Kami kemudian menggunakan pernyataan “cout” untuk menampilkan keluaran positif dan negatif di konsol. Terakhir, program mengembalikan 0 yang menunjukkan keberhasilan penyelesaian fungsi utama.

Ketika dijalankan, program ini mengeluarkan nilai positif dan negatif.

Contoh 3: Operator Logika BUKAN (!).

Operator unary di C++, dilambangkan dengan tanda “!” simbol, dikenal sebagai operator logika NOT. Ini dirancang untuk membalikkan nilai kebenaran dari ekspresi tertentu. Ini beroperasi pada operan tunggal yang biasanya merupakan ekspresi logis atau kondisi. Operasi logika NOT menghasilkan hasil yang “benar” jika operannya “salah” dan menghasilkan hasil “salah” jika operannya “benar”.

Berikut adalah contoh sederhana yang menunjukkan penggunaan operator logika NOT:

#termasuk
menggunakan ruang nama std ;

ke dalam utama ( ) {
bodoh adalah benar = BENAR ;
bodoh adalah Salah = PALSU ;

bodoh hasilTidak Benar = ! adalah benar ;
bodoh hasilTidak Salah = ! adalah Salah ;

cout << 'Nilai asli: ' << adalah benar << ', Setelah BUKAN:' << hasilTidak Benar << akhir ;
cout << 'Nilai asli: ' << adalah Salah << ', Setelah BUKAN:' << hasilTidak Salah << akhir ;

kembali 0 ;
}

Dalam contoh ini, kita mendeklarasikan dua variabel Boolean, “isTrue” dan “isFalse”. Kami kemudian menerapkan operator logika NOT ke setiap variabel, menyimpan hasilnya masing-masing di “resultNotTrue” dan “resultNotFalse”. Program selanjutnya mencetak nilai asli dan hasil operasi logika NOT untuk kedua variabel.

Saat menjalankan program ini, kita akan melihat bahwa operator logika NOT membalikkan nilai kebenaran “isTrue” (awalnya disetel ke benar), menjadikannya salah. Demikian pula, ini membalikkan nilai kebenaran dari “isFalse” (awalnya salah), menghasilkan nilai benar.

Outputnya dengan jelas menggambarkan inversi nilai kebenaran yang dicapai oleh operator logika NOT.

Contoh 4: Operator Bitwise BUKAN (~).

Operator NOT bitwise (~) dalam C++ adalah operator unary yang melakukan negasi bitwise pada setiap bit operannya. Ini berfungsi dengan tipe data dasar, khususnya tipe data integral, seperti bilangan bulat. Hasilnya dicapai dengan membalikkan setiap bit dalam operan, mengubah 0s menjadi 1s dan 1s menjadi 0s.

Untuk mengilustrasikan penggunaannya, perhatikan cuplikan kode berikut:

#termasuk
menggunakan ruang nama std ;

ke dalam utama ( ) {
ke dalam nilai asli = 5 ;

ke dalam hasilBitwiseNot = ~Nilai Asli ;

cout << 'Nilai asli: ' << nilai asli << ', Setelah Bitwise BUKAN:' << hasilBitwiseNot << akhir ;

kembali 0 ;
}

Dalam contoh ini, kita mendeklarasikan variabel integer “originalValue” dengan nilai “5”. Selanjutnya, kita menggunakan operator NOT bitwise (~) pada variabel ini. Hasil dari variabel ini disimpan di “resultBitwiseNot”. Program kemudian mencetak nilai asli dan hasilnya setelah operasi NOT bitwise dengan memanfaatkan pernyataan “cout”.

Saat kita menjalankan program ini, kita akan melihat bahwa operator bitwise NOT membalik setiap bit representasi biner “originalValue”, menghasilkan nilai baru.

Contoh 5: Operator Alamat dan Petunjuk

Operator alamat, dilambangkan dengan simbol “&”, berfungsi untuk mengambil lokasi memori suatu variabel. Ia mengembalikan pointer ke variabel yang memungkinkan akses tidak langsung ke nilainya. Operator tipuan atau dereferensi (*) memperoleh nilai yang disimpan di lokasi memori yang ditentukan oleh sebuah pointer. Ini menyediakan cara untuk bekerja dengan data aktual melalui pointer secara tidak langsung.

Mari kita pahami konsepnya dengan sebuah contoh:

#termasuk
menggunakan ruang nama std ;

ke dalam utama ( ) {
ke dalam nilai = 99 ;

cout << 'Nilai asli: ' << nilai << akhir ;

ke dalam * ptr = & nilai ;
cout << 'Alamat Memori:' << ptr << akhir ;

ke dalam Nilai diambil = * ptr ;
cout << 'Nilai yang Diperoleh:' << Nilai diambil << akhir ;

kembali 0 ;
}

Kode ini mencontohkan penggunaan operator alamat dan tipuan. Pertama, variabel integer bernama “value” diinisialisasi dengan nilai 99. Nilai asli “value” kemudian dikeluarkan ke konsol. Selanjutnya, variabel penunjuk “ptr” dideklarasikan, dan operator alamat (&) digunakan untuk menetapkan alamat memori “nilai” ke “ptr”. Program kemudian mengeluarkan alamat memori ini, menampilkan operasi dasar dari operator “alamat”.

Setelah itu, variabel integer baru yaitu “retrievedValue” dideklarasikan, dan operator tipuan (*) digunakan untuk mengambil nilai yang disimpan di alamat memori yang ditunjuk oleh “ptr”. Nilai yang diambil kemudian dikeluarkan ke konsol.

Kesimpulan

Artikel ini memberikan eksplorasi komprehensif tentang operator unary di C++. Kami mulai dengan mengkategorikan operator unary ke dalam berbagai jenis termasuk aritmatika, logika, bitwise, dan yang terkait dengan alamat dan tipuan. Situasi dunia nyata dicontohkan untuk menunjukkan penerapan yang berguna dari operator-operator ini. Operator ini memainkan peran penting dalam pemrograman C++ yang memungkinkan pengembang bekerja dengan pointer secara efisien dan mengelola memori.