หน้าหลัก » ภาษาซี (C) » โค้ดภาษาซี แปลงเลขฐานสิบเป็นเลขฐานสิบหก

โค้ดภาษาซี แปลงเลขฐานสิบเป็นเลขฐานสิบหก




ตัวอย่างโค้ดภาษาซี ในการแปลงเลขฐานสิบ(Decimal) เป็นเลขสิบหก(Hexadecimal) ซึ่งการทำการก็คล้ายกับ การแปลงเลขฐานสิบเป็นเลขฐานสอง และ การแปลงเลขฐานสิบเป็นเลขฐานแปด  แต่ตัวหารจะเป็นเลข 16 และ เพิ่มเติมค่าเศษที่หาได้ถ้าเป็นเลข 10=A, 11=B, 12=C, 13=D, 14=E, 15=F

ตัวอย่างโค้ด

/***************************************************
 * Author    : CS Developers
 * Author URI: https://www.comscidev.com
 * Facebook  : https://www.facebook.com/CSDevelopers
 ***************************************************/
 
#include<stdio.h>

int main()
{
	int dec;
	int hex[100];
	int i=0, j;
	
	printf(" Input Decimal value : ");
	
	scanf("%d", &dec);
	
	do{
		hex[i] = dec % 16;
		dec /= 16;
		i++;	
	}while(dec > 0);

	printf("\n Hexadecimal value is ");
	
	for(j = i - 1; j >= 0; j--)
	{
		switch(hex[j])
		{
			case 15 : printf("F"); break;
			case 14 : printf("E"); break;
			case 13 : printf("D"); break;
			case 12 : printf("C"); break;
			case 11 : printf("B"); break;
			case 10 : printf("A"); break;
			default : printf("%d", hex[j]);
		}	
	}
	
	return 0;
}

ผลลัพธ์

โค้ดภาษาซี แปลงเลขฐานสิบเป็นเลขฐานสิบหก