把十进制数转换成十六进制后如何分割高低字节
来源:互联网 发布:手机打击垫软件 编辑:程序博客网 时间:2024/05/22 00:53
http://blog.sina.com.cn/s/blog_61eff1c70100gh21.html
把十进制数转换成十六进制后如何分割高低字节
今天公司的项目,遇到一个问题:要把云台输入转动角度转换成十六进制后把高地位分开赋给另外两个参数,比如90°(云台协议规定要计算9000即输入的100倍的十六进制),9000的十六进制是2328,有两个变量angle1,angle2,应该得到angle1=0x23,angle=0x28;那么怎么实现呢?
刚开始上网搜到说有个函数
sprintf() 格式化输出函数(图形)
功能: 函数sprintf()用来作格式化的输出。
用法: 此函数调用方式为int sprintf(char *string,char *format,arg_list);
说明: 函数sprintf()的用法和printf()函数一样,只是sprintf()函数给出第一个参数string(一般为字符数组),然后再调用outtextxy()函数将串里的字符显示在屏幕上。arg_list为参数表,可有不定个数。通常在绘图方式下输出数字时可调用sprintf()函数将所要输出的格式送到第一个参数,然后显示输出。
我试着编写程序如下:
#include <stdio.h>
#include <stdlib.h>
typedef unsigned char
int main() {
}
问题是,sprintf输出的是char*类型,比如本例是"2328",如果在用atoi函数只是转换为整数2328,分割后的angle1,angle2存储的是整数23,28完全不对。
后来经过思考和讨论想到了移位,果然是灵丹妙药啊:
int main() {
}
注释掉的句子可以代替其下面一句,但是明显移位是最牛逼的方法。
- 把十进制数转换成十六进制后如何分割高低字节
- 把十进制数转换成十六进制后如何分割高低字节
- 十进制数转换成十六进制
- 将十六进制数转换成十进制数
- 十进制数转换成十六进制数
- 十进制数转换成十六进制数
- 将十六进制数转换成十进制数
- asp.net把十六进制转换成十进制
- js把十进制转换成十六进制
- 如何把十进制浮点数转换成二进制数
- 如何把单精度二进制数转换成十进制数?
- 递归把十六进制(字符串表示)转换称十进制数
- 输入十进制数转换成十六进制
- 如何将十六进制数转换为十进制数
- 汇编:把寄存器AX的十六进制数转换成十进制形式输出
- 十进制???转换为十六进制数
- VC中,如何将十六进制字符串转换为十进制数?
- 十进制有符号数转十六进制,十六进制高低位再转为十进制
- 数据库出现 enq: TX - row lock contention
- Unity3D使用SqliteKit连接Sqlite数据库并在Android设备上读取简明教程
- 数据库工具-DBeaver工具
- android 报错集锦
- MyBatis+Spring 事务管理
- 把十进制数转换成十六进制后如何分割高低字节
- Decode Ways
- android开发笔记之不同机型的适配的解决方案(完整篇)
- qt版本的浏览器开发
- OpenGL: 深度冲突(Z-Finghting or Depth Fighting)的解决
- Android 异步任务 AsyncTask
- Linux 压缩解压命令
- JavaScript判断浏览器类型及版本
- 2014-04-15第十六周周二工作日志:HKEY_CURRENT_USER