123十进制转十六

123除以16的余数为11,用十六进制也就是B;123-11=112,112除以16等于7,7小于16,所以就是7B;

 

以2526为例

2526除以16 商 157  余..........................14

157除以16   商9    余.........................13

9除以16    商0       余..........................9

  1. 然后将余数倒过来,两位数的余数则转化为字母。

  2. 数字与字母对应如下:

    10-A

    11-B

    12-C

    13-D

    14-E

    15-F

  3. 则十进制数字转化为2526转化十六进制为:9DE

    好啦,十进制转换为十六进制就完成了,希望能对您有帮助哦^_^

在51单片机中进行十进制十六进制的换,通常需要编写一段程序来实现。以下是一个简单的例子,使用C语言编写,适用于Keil C51编译器: ```c #include <reg51.h> // 包含51单片机寄存器定义的头文件 // 假设我们要换的十进制数存储在变量num中 unsigned char num = 123; // 示例十进制数 // 函数用于将单个十进制数字换为对应的十六进制字符 char DECtoHEX(char ch) { if(ch > 9) { return (ch - 10) + 'A'; // 对于大于9的数字,换为'A'到'F' } else { return ch + '0'; // 对于0到9的数字,换为'0'到'9' } } void main() { unsigned char temp; unsigned char hexNumber[3] = {0}; // 存储换后的十六进制数的数组 // 分离出十进制数的个位、十位、百位 hexNumber[0] = DECtoHEX(num / 100); // 百位 temp = num % 100; // 先取模得到个位和十位 hexNumber[1] = DECtoHEX(temp / 10); // 十位 hexNumber[2] = DECtoHEX(temp % 10); // 个位 // 此时hexNumber数组中存储了三个十六进制字符,可以通过某种方式(如LED显示或串口打印)输出 while(1) { // 主循环,可以添加其他代码 } } ``` 这段代码首先定义了一个十进制数`num`,然后通过`DECtoHEX`函数逐位换为对应的十六进制字符,最后将这些字符存储在`hexNumber`数组中。需要注意的是,这段代码只适用于将小于1000的十进制换为最多三位的十六进制数。如果需要换更大的数或者有其他特殊需求,代码需要相应地进行调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值