将一个BYTE数组转换成16进制字符串和10进制字符串格式

背景:

 unsigned char port[5]; 

以02x的格式打印出来是 00 00 02 00 00

1.如何转成16进制形式的字符串,使得char *strport16 = "0000020000";
2.如何转成10进制形式的字符串,使得char *strport10 = "131072";

C code:

#include <stdio.h>
#include <string.h>
int main(int argc, char *argv[])
{
unsigned char port[5] = {0x00, 0x00, 0x02, 0x00, 0x00};
char buf[20] = {0};
// format port[] to hex result
sprintf(buf, "%02x%02x%02x%02x%02x", port[0], port[1], port[2], port[3], port[4]);
printf("十六进制:\t%s\n", buf);
// format port[] to decimal result
__int64 a = 0;
memcpy(&a, port, sizeof(port));		// ensure the length of port[] is less than or equal to 8
sprintf(buf, "%I64d\n", a);			// format an integer of 64bit length
printf("十进制:\t\t%s\n", buf);
__int64 bb = 0x1122334455667788;
unsigned char *p = (unsigned char*)&bb;
printf("bb = 0x%I64x\n", bb);
for(int i = 0; i < sizeof(bb); i++)
{
printf("%02x ", p[i]);			// high part bytes store at high memory address
}
printf("\n");
return 0;
}


运行结果:

十六进制:       0000020000
十进制:         131072
bb = 0x1122334455667788
88 77 66 55 44 33 22 11
Press any key to continue


结论:整数的高位字节保存在高地址处,而且局部变量是保存在栈区的,在内存中的情况如图:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/406962.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CSS 相对|绝对(relative/absolute)定位系列(二)

1. 因为事先标准就已经在文字的后面显示&#xff0c;设置absolute之后因为跟随性仍然是在原来的文字&#xff0c;然后再设置margin实现定位即可 2. absolute正业之元素隐藏 元素隐藏与显示是我们在页面制作与交互效果实现中非常常见的&#xff0c;如果您只是使用display:none与…

javascript学习系列(25):数组中的substr

最好的种树是十年前,其次是现在。歌谣 每天一个前端小知识 提醒你改好好学习了 知乎博主 csdn博主 b站博主 放弃很容易但是坚持一定很酷 我是歌谣 喜欢就一键三连咯 你得点赞是对歌谣最大的鼓励 1前言 在我们的日常开发中 不免会有很多需要处理数据的方法 本节主要说一说s…

CSS 相对|绝对(relative/absolute)定位系列(三)

1. absolute与等高布局 拿简单的两栏布局举例&#xff0c;左栏与右栏有不同的背景色&#xff0c;且中间隔边框线分隔&#xff0c;如何实现&#xff1f;因为随着内容的不同&#xff0c;有可能左侧栏高度较高&#xff0c;也有可能是右侧栏高度较高。所以&#xff0c;要实现无缝的…

CPUID详解[增加TLB与Cache]

From: http://bbs.pediy.com/showthread.php?threadid21646 标 题:CPUID详解[增加TLB与Cache]作 者: Pr0Zel 时 间: 2006-02-21,22:00:23 链 接: http://bbs.pediy.com/showthread.php?t21646 这是文章最后一次更新,加入了TLB与Cache信息等资料前言:论坛上面有人不明白CPUID指…

2009年5月软件设计师考前预测试题及考点解析

更多试题及要点解析请参见《软件设计师考试考前冲刺预测试卷及考点解析》、《应试捷径--典型考题解析与考点贯通(系统分析师考试)》&#xff0c;不断更新中&#xff0c;敬请持续关注&#xff01;

纯CSS实现侧边栏/分栏高度自动相等

一、为何要分栏高度一致&#xff1f; 分栏高度一致的目的是更加美观。举两个例子吧 2.1 对于分栏布局&#xff0c;我们或许会用边框(border)进行分隔&#xff0c;就如鄙人博客的分栏 此时最担心的问题就是高度不一致&#xff0c;尤其是无边框属性的分栏高度超过有边框属性的分…

gitservergitlab之搭建和使用

gitserver比較有名的是gitosis和gitolite&#xff0c;这两个管理和使用起来略微有些复杂&#xff0c;没有web页面&#xff0c;而gitlab则是类似于github的一个工具&#xff0c;github无法免费建立私有仓库&#xff0c;而且为了代码安全&#xff0c;于是在内网安装了一个自己实验…

CSS布局奇淫巧计之-强大的负边距

负的边距好像能减小元素在文档流中的尺寸一样&#xff0c;但事实上&#xff0c;它的尺寸大小并没变&#xff0c;只是文档流在计算元素位置的时候&#xff0c;会认为负边距把元素的尺寸减小了&#xff0c;因此位置也就发生变化了。 实例&#xff1a; 因为P为block元素且没有指定…

[NHibernate] NHibernate对象关系映射工具了解

NHibernate是把Java的Hibernate核心部分移植到Microsoft .NET Framework上。它是一个对象关系映射工具&#xff0c;其目标是把.NET对象持久化到关系数据库。 NHibernate 是一个面向.NET 环境的对象/关系数据库映射工具。对象关系映射(O/R Mapping&#xff0c;Object Relational…

改变CSS世界纵横规则的writing-mode属性

1. writing-mode的原本作用 和float属性有些类似&#xff0c;writing-mode原本设计的是控制内联元素的显示的&#xff08;即所谓的文本布局-Text Layout&#xff09;。因为在亚洲&#xff0c;尤其像中国这样的东亚国家&#xff0c;存在文字的排版不是水平式的&#xff0c;而是…

IOS中定时器NSTimer的开启与关闭

调用一次计时器方法&#xff1a; [cpp] view plaincopymyTimer [NSTimer scheduledTimerWithTimeInterval:1.5 target:self selector:selector(scrollTimer) userInfo:nil repeats:NO]; //不重复&#xff0c;只调用一次。timer运行一次就会自动停止运行 重复调用计时器方法&…

灰鸽子病毒手工清除方法

灰鸽子病毒手工清除方法[多图] www.rising.com.cn 2005-2-1 9:50:00 信息源:瑞星公司 作者:刘明星 广告 灰鸽子&#xff08;Backdoor.Huigezi&#xff09;作者现在还没有停止对灰鸽子的开发&#xff0c;再加上有些人为了避开杀毒软件的查杀故意给灰鸽子加上各种不同的壳&a…

IOS重力感应

iPhone和iPad设备有4个方向的状态&#xff0c;我们可以针对应用当前所处的方向调整界面。 为了使应用支持不同的方向&#xff0c;首先我们需要在项目设置中设置设备支持的方向&#xff08;也可以在项目的plist中设置&#xff09; Portrait  竖放&#xff0c;home键在屏幕下方…

理解CSS3 max/min-content及fit-content等width值

1. CSS2.1的尺寸体系 在CSS2.1的世界中&#xff0c;常见的尺寸分为这几类&#xff1a; 2.1 充分利用可用空间。例如&#xff0c;一些div元素默认宽度100%父元素&#xff0c;这种充分利用可用空间的行为就称为“fill-available”。 2.2 收缩与包裹。典型代表就是浮动&#xf…

Vue中实现数据列表无缝轮播

实现效果: 链接 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><title>vue.js动态文字滚动公告代码</title><script src"https://cdn.bootcss.com/vue/2.5.17-beta.0/vue.min.js">…