Sabtu, 01 Oktober 2011

Konversi Data VB ( Visual Basic )

#include <errno.h>
#include <stdio.h>
#include <stdlib.h>
#include <limits.h>

/* dimodifikasi dari manual strtol
* in : masukan
* out : keluaran
* op : 1 (hex to octal), -1 (octal to hex)
* return : 1 (sukses), 0 (ada error, masukan gk valid)
*/
int ho_oh (const char *in, char *out, int op)
{
long tmp;
char *endptr;
int base = (op == 1)? 16 : (op == -1)? 8 : -1;

if (base == -1) {
return(0);
}
errno = 0;
tmp = strtol(in, &endptr, base);
/* check for errors */
if ((errno == ERANGE && (tmp == LONG_MAX || tmp == LONG_MIN)) ||
(errno != 0 && tmp == 0)) {
perror("ho_oh");
return(0); /* return false */
}
if (endptr == in) {
fprintf(stderr, "no digits were found\n");
return(0); /* return false */
}
if (*endptr != '\0') {
return(0);
}
sprintf(out, (base == 16)? "%lo" : "%lx", tmp);

return(1);
}

/* test program */
int main (void)
{
const char *input = "377";
char output[100];

/* octal to hex */
if (ho_oh(input, output, -1)) {
printf("%s\n", output);
}

return(0);
}





Untuk Konversi Ke OKtal Ato Hexa kan dah ada fungsi c ndri.. :


#include <stdio.h>
#include <stdlib.h>
#include <conio.h>


int n,i;
void oktal();
void hexa();
void biner();

main()
{
printf("Masukkan Nilai Dalam Desimal : ");
scanf("%d",&n);
printf("\nBilangan Desimal %d Jika Diubah Kedalam Biner :",n);
biner();
printf("\nBilangan Desimal %d Jika Diubah Kedalam Oktal :",n);
oktal();
printf("\nBilangan Desimal %d Jika Diubah Kedalam Hexadecimal :",n);
hexa();
getch();
}
void biner()
{
int a,b=0,array[100];
array[0]=n%2;
b=n/2;
for(i=1;i<100;i++)
{
array=b%2;
b=b/2;
if ((b==0) || (b==1))
{
i++;
array=b%2;
break;
}
}
for(a=i;a>=0;a--)
printf("%d",array[a]);
}
void hexa()
{
printf("%x",n);
}
void oktal()
{
printf("%o",n);
}

Tidak ada komentar:

Posting Komentar