• 基础练习 十进制转十六进制


    问题描述

    十六进制数是在程序设计时经常要使用到的一种整数的表示方式。它有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F共16个符号,分别表示十进制数的0至15。十六进制的计数方法是满16进1,所以十进制数16在十六进制中是10,而十进制的17在十六进制中是11,以此类推,十进制的30在十六进制中是1E。
      给出一个非负整数,将它表示成十六进制的形式。
    输入格式
      输入包含一个非负整数a,表示要转换的数。0<=a<=2147483647

    输出格式

    输出这个整数的16进制表示

    样例输入

    30

    样例输出

    1E

    solution1

    #include 
    #include 
    int main(){
    	long long n, t, num = 0, ans[20] = {0};
    	char hash[17] = "0123456789ABCDEF";
    	scanf("%lld", &n);
    	do{
    		ans[num++] = n % 16;
    		n /= 16;
    	}while(n);
    	for(int i = num - 1; i >= 0; i--){
    		printf("%c", hash[ans[i]]);
    	}
    	return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    solution2

    #include 
    #include 
    int main(){
    	long long n, num = 0;
    	char ans[20];
    	scanf("%lld", &n);
    	do{
    		if(n % 16 > 9) ans[num++] = n % 16 + 'A' - 10;
    		else ans[num++] = n % 16 + '0'; 
    		n /= 16;
    	}while(n);
    	for(int i = num - 1; i >= 0; i--){
    		printf("%c", ans[i]);
    	}
    	return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
  • 相关阅读:
    Python:函数调用的实参
    esp32-rust-std-examples-blinky
    mybatis的使用
    净零工业法案相关
    rpc网络
    Python class:定义类
    045天 集合框架09 总结点 问
    图像超分经典网络 SRGAN精确解析
    Java基础学习笔记(七)—— 面向对象编程(3)
    pyqt6 vscode
  • 原文地址:https://blog.csdn.net/Moliay/article/details/133150896