`
wyk86485480
  • 浏览: 28680 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
文章分类
社区版块
存档分类
最新评论

C语言实现任意进制的转换,主要注意代码的小技巧

 
阅读更多

在Linux GCC编译测试通过,代码如下:

~~~.c
#include <stdio.h>

void tobase(int, int);
int main()
{
tobase(33, 16);
return 0;
}

void tobase(int value, int base)
{
static char digits[] = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
char buf[(sizeof(long) << 3) + 1];
char *ptr, *end;

if (base < 2 || base > 36) {
printf("error base range \n");
}

end = ptr = buf + sizeof(buf) - 1;
*ptr = '\0';
do {
*--ptr = digits[value % base];
value /= base;
} while (ptr > buf && value);

printf("base: %d, => %s \n", base, ptr);
}
~~~

转自:http://www.yinqisen.cn/blog-673.html
分享到:
评论

相关推荐

    任意文件转换成C语言数组(及源码)

    标题 "任意文件转换成C语言数组(及源码)" 涉及到的是一个编程技巧,它允许开发者将任意文件的数据转化为C语言的字符数组,这样可以在程序运行时直接加载和处理这些数据。这种技术常见于嵌入式系统或者资源打包在可...

    五子棋程序C语言数据结构

    在IT领域,编程是核心技能之一,而C语言作为基础且高效的编程语言,常用于系统级编程、嵌入式开发以及各种算法实现。本项目"五子棋程序C语言数据结构"就是一个很好的实例,展示了如何利用C语言来设计并实现一个...

    C语言实现base64编码与解码

    Base64是一种用于将任意二进制数据转换为可打印ASCII字符的编码方式,它广泛应用于电子邮件、HTTP传输等场景...在提供的压缩包文件中,你可以找到具体的C语言源代码实现,通过阅读和学习,可以更深入地理解这些知识点。

    C语言编程题目

    - 实现从任意进制到十进制的转换,然后再从十进制转换到目标进制。 - 转换过程中需要注意进位处理等问题。 **扩展内容:** - **用户友好的界面**:增加用户友好的界面设计,如菜单选择、错误提示等。 - **自定义...

    sha-1密码算法C语言实现

    SHA-1(Secure Hash Algorithm 1)是一种广泛使用的散列函数,它能够将任意长度的输入数据转换为固定长度的输出,通常是一个160位(20字节)的数字,以十六进制表示为40个字符。在本案例中,我们关注的是SHA-1算法的...

    C语言宏定义使用技巧.pdf

    在字符处理方面,宏定义可以用来实现大小写转换、数字和十六进制字符的检查。UPCASE 宏将小写字母转换为大写,DECCHK 和 HEXCHK 宏分别检查字符是否为十进制数字和十六进制数字。 数组操作宏定义,如 ARR_SIZE,...

    编程技巧 C语言宏定义技巧

    这里通过强制类型转换,实现了对任意内存地址的字节或双字节数据读取。 #### 四、最大值和最小值的计算 通过宏定义可以很方便地获取两个数的最大值和最小值: ```c #define MAX(x, y) (((x) &gt; (y)) ? (x) : (y)) ...

    c语言实例解析(第二版)高清pdf电子书

    实例17 对数组元素排序 实例18 任意进制数的转换 实例19 判断回文数 . 实例20 求数组前n个元素之和 实例21 求解钢材切割的最佳订单 实例22 通过指针比较整数大小 实例23 指向数组的指针 实例24 寻找...

    杭州电子科技大学C语言历年考试

    6. **进制转换**:八进制数126转换为十进制数时,应按照位权展开的方式计算,即\(1 \times 8^2 + 2 \times 8^1 + 6 \times 8^0 = 64 + 16 + 6 = 86\)。因此,八进制数126对应的十进制数确实是86。 7. **格式化输入...

    C语言作业[参照].pdf

    - 字符转换:编写ToUpper和ToLower函数,实现大小写字母的转换。 - 位操作:获取整数的最低位、最高位和任意位,以及计算位数。 - 排列组合:实现Arrange函数,计算从m个不同元素中取n个的排列数。 以上知识点...

    C程序范例宝典(基础代码详解)

    本书全面介绍了应用C语言进行开发的各种技术和技巧,全书共分12章,内容包括基础知识、指针、数据结构、算法、数学应用、文件操作、库函数应用、图形图像、系统调用、加解密与安全性、游戏、综合应用等。全书共提供...

    你必须知道的495个C语言问题

    2.4 在C语言中用什么方法实现抽象数据类型最好? *2.5 在C语言中是否有模拟继承等面向对象程序设计特性的好方法? 2.6 为什么声明externf(structx*p);给我报了一个晦涩难懂的警告信息? 2.7 我遇到这样声明...

    数据结构(C语言版)实验--栈的应用

    3. 利用栈设计程序,将十进制数转换为任意h进制数。这一任务展示了栈在解决实际问题中的应用,它涉及到数学知识和栈的动态处理。 实验理论依据是栈的抽象数据类型(ADT Stack),包括如下基本操作: - InitStack:...

    C语言期中复习题PPT课件.pptx

    预处理器是C语言中的一个重要组件,负责将源代码转换为可执行文件。预处理器可以定义宏、包含头文件、删除注释等。 12. 语句: C语言中的语句包括表达式语句、选择语句、循环语句、跳转语句等。每种语句都有其特定...

    《你必须知道的495个C语言问题》

    2.4 在C语言中用什么方法实现抽象数据类型最好? 22 *2.5 在C语言中是否有模拟继承等面向对象程序设计特性的好方法? 22 2.6 为什么声明extern f(struct x *p); 给我报了一个晦涩难懂的警告信息? 23 2.7 我...

    C语言FAQ 常见问题列表

    o 3.10 我的编译器在结构中留下了空洞, 这导致空间浪费而且无法与外部数据文件进行 "二进制" 读写。能否关掉填充, 或者控制结构域的对齐方式? o 3.11 为什么 sizeof 返回的值大于结构的期望值, 是不是尾部有填充? ...

    c语言随身记

    ### C语言随身记知识点概览 #### 第一章:Printf输出 - **知识点1:标准输出** ...以上是《C语言随身记》的主要知识点概览,涵盖了从基础的输入输出到高级的函数、结构体等内容,适合初学者快速掌握C语言的...

    100个经典例题(C语言).doc

    ### C语言经典例题知识点概览 #### 【程序1】1~4组成无重复数字的三位数 - **知识点**: - 数组循环 - 条件语句(if) - 嵌套循环 - **描述**:通过嵌套循环构造所有可能的由1至4组成的三位数,确保每一位上的...

Global site tag (gtag.js) - Google Analytics