Sabtu, 23 November 2013

Mencetak Nilai Integer Dalam Desimal : Algoritma dan Contoh Implementasi


Pekerjaan prosesor terbatas pada pengolahan angka, mulai dari angka kompleks hingga sederhana. Dalam hal output, baik dalam teks ataupun grafis, implementasinya diluar ketentuan prosesor.
Karena yang bisa diproses hanya angka, sementara manusia membutuhkan representasi lain, seperti karakter alfabet, simbol, dan lain sebagainya, maka perlu dikembangkan sebuah cara untuk merepresentasikan semua itu secara matematis.

Salah satu metode yang digunakan adalah menggunakan kode ASCII(American Standard Code for Information Interchange) untuk mewakili setiap karakter yang akan ditampilkan. misalnya, huruf A besar direpresentasikan dengan angka 65, B kapital dengan angka 66, dsb.
untuk mempelajari kode ASCII lebih lanjut, kunjungi link ini.

Dalam postingan ini, kita mempelajari cara bagaimana menampilkan angka dari input sebuah bilangan bulat.
Jika anda telah membaca link yang saya berikan diatas, anda akan tahu bagaimana setiap angka direpresentasikan. agar lebih mudah, berikut adalah representasinya :


ASCII
Representasi
Desimal
Heksadesimal
Biner
0
48
0x30
110000b
1
49
0x31
110001b
2
50
0x32
110010b
3
51
0x33
110011b
4
52
0x34
110100b
5
53
0x35
110101b
6
54
0x36
110110b
7
55
0x37
110111b
8
56
0x38
111000b
9
57
0x39
111001b


Sehingga agar sebuah angka dapat ditampilkan ke output, kita menggunakan rumus
48 + angka;
Tapi, bagaimana menampilkan angka yang panjang seperti 8654?
Caranya adalah dengan membagi angka yang ingin ditampilkan hingga hasil baginya == 0.


Kode C :
#include<stdio.h>
#include<string.h>


int main()
{
      unsigned long nilai = 8192;
     char buff[15];
     unsigned int i = 0;
     do
     {
          buff[i] = (nilai % 10) + 0x30;
          i++;
          nilai /= 10;
     }while(nilai / 10 != 0);
     buff[i++] = nilai;
     buff[i] = 0;
     strrev(buff);
     printf(buff);
}
Load disqus comments

0 comments