Operator Ternary, Define, BitShift Operator, Read Write Register

Operator Ternary (?)

Operator Ternary adalah operator yang memiliki 3 argumen, yang memiliki aturan:

(kondisi)? ekspresi_pertama:ekspresi_kedua;

Maksudnya ekspresi_pertama dijalankan jika kondisi bernilai true, jika kondisi bernilai false maka ekspresi_kedua yang akan dijalankan.

Tujuan dari operator ternary adalah mempersingkat kode dan akan mengurangi besar file source code.

Contoh:

c=(a<b)?5:10;

baris diatas sama dengan if then else,

if(a<b){
	c=5;
}
else{
	c=10;
}

#define

#define berfungsi untuk mendifine a preprocessor macro

Contoh:

#define MESSAGE “Hai!”

#define FILE_SIZE 42

Jadi, berguna untuk mendifinisikan MESSAGE dan FILE_SIZE, dimana sebelum soure code dicompile, compiler mengganti MESSAGE dan FILE_SIZE dengan Hai dan 42.


Bit Shift Operator

Ada 2 bit shift operator, left shift operator << dan right shift operator >>.

REG = 0x00080000; //hexadecimal
REG = 10000000000000000000b;
REG = (1<<19); // sort of compact binary rep.

Pilih yang mana? ….

1 << 19 : artinya geser angka 1 sebanyak 19 kali ke kiri


Membaca/Menulis Register

// dalam bilangan biner
REGT_8b = 00000000 

// jika ingin menset 1 di bit 5,6,7
REGT_8b = 11100000


//jika ingin menset 1 di bit 2
REGT_8b = 11100100

REGT_8b = REGT_8b | (1<<2); // which is 11100000 | 00000100 = 11100100

REGT_8b |= (1<<2);

//jika kita ingin men-0 bit 6
REGT_8b = REGT_8b & (~(1<<6));

REGT_8b &=~(1<<6);

 

Leave a Reply

Your email address will not be published. Required fields are marked *