Konversi NIM (desimal) ke biner
dibuat oleh Azhar cuma untuk iseng sajabinariez
c_cpp
4 years ago
2.1 kB
39
Indexable
/*19 Nopember 2021 Azhar*/ #include <iostream> //diperlukan untuk menggunakan fungsi input/output #include <sstream> //diperlukan untuk menggunakan class stringstream using namespace std; //diperlukan untuk menggunakan cout, cin, endl, stringstream int main() //inisiasi program { //deklarasi variabel awal int a[25], i=0, nim; //'a' sebagai array integer stringstream langkah,hasil; //stringstream digunakan untuk menyimpan data output string (cout) //input data cout<<"Masukkan NIM: "; cin>>nim; //input data nim cout<<"Langkah konversi "<<nim<<" ke biner ialah sebagai berikut:\n\n"; //hanya output pelengkap //algoritma konversi while(nim>0){ //fungsi pengulangan. program akan terus diulang selama nilai nim masih lebih dari 0. a[i]=nim%2; //a[indeks array] = nim modulus 2 if(i==0){ //kondisi jika nilai indeks sekarang adalah 0 langkah<<nim<<("/2 = ")<<nim/2<<" dengan sisa "<<a[i]<<" <===MSB\n"; //maka hasil perhitungan awal ditetapkan sebagai nilai MSB } else if (nim+1==2){ //dan kondisi jika nilai nim=2 langkah<<nim<<("/2 = ")<<nim/2<<" dengan sisa "<<a[i]<<" <===LSB\n"; //maka hasil perhitungan akan ditetapkan sebagai nilai LSB } else{ //atau kondisi jika tidak termasuk dari kedua kondisi diatas langkah<<nim<<("/2 = ")<<nim/2<<" dengan sisa "<<a[i]<<endl; //maka ditetapkan sebagai nilai diantara MSB dan LSB } i++; //penambahan inkremen i sebagai indeks array 'a' sebanyak 1 setiap pengulangan nim=nim/2; //nilai nim dibagi sebanyak 2 setiap pengulangan } //menampilkan hasil konversi akhir cout<<langkah.str(); //menampilkan langkah-langkah penghitungan nilai biner for(i=i-1;i>=0;i--){ //pengulangan untuk menyusun nilai hasil konversi hasil<<a[i];} //menyusun nilai biner dari LSB ke MSB cout<<"\nMaka, hasil akhir konversi: " <<hasil.str(); //menampilkan hasil konversi ke nilai biner yang sudah disusun return 0; //memeriksa bahwa tidak ada eror di program }//akhir dari program
Editor is loading...