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
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);
}
0 comments