可移植的方式(确保你得到0x00 0x00 0x00 0xaf无处不在)是使用shift:

unsigned char bytes[4];

unsigned long n = 175;

bytes[0] = (n >> 24) & 0xFF;

bytes[1] = (n >> 16) & 0xFF;

bytes[2] = (n >> 8) & 0xFF;

bytes[3] = n & 0xFF;

使用union和memcpy()的方法将在不同的机器上获得不同的结果。

你所遇到的问题是与打印而不是转换。我假设你使用char而不是unsigned char,并且你正在使用这样的行打印它:

printf("%x %x %x %x\n", bytes[0], bytes[1], bytes[2], bytes[3]);

当任何比int更窄的类型被传递给printf时,它们被提升为int(或unsigned int,如果int不能容纳原始类型的所有值)。如果char在您的平台上签名,那么0xff可能不适合该类型的范围,并且它被设置为-1(在2s补充机器上具有表示0xff)。

-1被提升为一个int,并在你的机器上有一个int的表示0xffffffff,这就是你看到的。

您的解决方案是要么实际使用unsigned char,要么转换为printf语句中的unsigned char:

printf("%x %x %x %x\n", (unsigned char)bytes[0],

(unsigned char)bytes[1],

(unsigned char)bytes[2],

(unsigned char)bytes[3]);

c语言中int转char数组,将int转换为4字节的char数组(C)相关推荐

  1. c语言中在main外面定义的int变量,C语言中,把变量定义在主函数之外和定义在主函数之内有什么区别...

    C语言中,把变量定义在主函数之外和定义在主函数之内有什么区别 答案:7  信息版本:手机版 解决时间 2018-12-14 06:44 已解决 2018-12-13 14:23 C语言中,把变量定义在 ...

  2. 在c语言中,什么函数能测量当前变量所占字节数,2017年9月计算机二级考试C语言预习自测题(4)...

    摘要 2017下半年计算机二级考试时间9月23日-26日,目前进入了备考的阶段.复习过程中,练习题更是不可忽视的一部分,233网校特意为考生们收集了计算机二级<C语言>的试题,小伙伴们快快 ...

  3. c语言 int a 5,在C语言中,有如下的写法:int a = 5; int *pa; pa = (a + 1);

    pa = &(a+1)这一句不对. a是一个变量,a+1是一个数值,无法再通过在前面加"&"获得一个地址.有的编译器可以用&(int )(a+1)的方式强制 ...

  4. c++语言中string类型,c++string类型占几个字节

    在C语言中我们操作字符串肯定用到的是指针或者数组,这样相对来说对字符串的处理还是比较麻烦的,好在C++中提供了 string 类型的支持,让我们在处理字符串时方便了许多. 首先,我写了一段测试代码,如 ...

  5. 在c语言中,可以使用动态内存分配技术定义元素个数可变的数组,C语言复制在线考题1精选.doc...

    C语言复制在线考题1精选 窗体顶端 <C语言程序设计208304>综合测试 返回测验列表 大项 1 / 2 - 单项选择题 60.0/ 70.0 分 本大题共35道,每题2分,共计70分, ...

  6. c语言void结尾,C语言中void*详解及应用

    void在英文中作为名词的解释为"空虚:空间:空隙":而在C语言中,void被翻译为"无类型",相应的void *为"无类型指针".void ...

  7. c语言中fputc函数的作用是,C语言中fputc函数的用法

    C语言中fputc函数的用法 C语言中fputc函数的用法为"int fgetc (FILE *fp)",该函数的作用是从指定的文件中读取一个字符, 读取成功时会返回读取到的字符, ...

  8. c语言中fputc函数的作用是,C语言中fputc函数的用法_后端开发

    Python画ROC曲线和AUC值计算(附代码)_后端开发 ROC(Receiver Operating Characteristic)曲线和AUC常被用来评价一个二值分类器的优劣.这篇文章将先简单的 ...

  9. C语言中fopen()函数的使用方法

    fopen()函数的使用方法 C语言中fopen()的基本用法: 语法: FILE *fopen(const char *filename, const char *mode);` 返回值: fope ...

最新文章

  1. 利用Maven搭建Spring开发环境 【转】
  2. Spark弹性式数据集RDDs
  3. 12. Excel数据可视化看板--动态销售月报看板
  4. 1-5 三整数排序(算法竞赛入门经典)
  5. Chrome保存mht网页文件的方法 – 无需任何插件,完美!
  6. android 9.0打开wifi,Android9.0 SystemUI 屏蔽打开wifi时不显示4G图标的逻辑
  7. C#曲线分析平台的制作(二,echarts前后台数据显示)
  8. 《计算机操作系统》(第四版)知识点总结
  9. python pyhook_Python——pyHook监听鼠标键盘事件
  10. XCTF|PWN-string-WP
  11. android平台数字看板,数据看板
  12. 笔试题——团队活动分组
  13. Halcon深度学习-目标检测-Rectangle1
  14. 你不知道的接近开关与PLC连接时如何判断用PNP还是NPN
  15. 十年阿里巴巴资深架构师整理分享的SpringSecurity实战文档
  16. Android开发:如何实现收发短信
  17. js随机数,随机从数组里面去一个或多个元素
  18. Dictionary Learning(字典学习、稀疏表示以及其他)
  19. 第九届大唐杯省赛知识梳理-5G网络技术(10%)
  20. 我,30岁,转行了!关于转行的13个真实困惑

热门文章

  1. vs2010更换主题教程
  2. 前端学习之vue+element-ui电商项目(八)商品信息添加
  3. Golang 优化之路——HTTP长连接
  4. java code formatter,Eclipse Code Formatter在IDEA中配置
  5. 【金九银十】java嵌入式开发平台叫什么
  6. 参加欧特克ADN武汉培训活动
  7. 基于像控点三维模型几何精纠正处理几种常用方法
  8. 计算机应用技术在公安,计算机应用技术在公安工作中应用探析.doc
  9. 超搞笑的设计模式诠释(绝对经典)
  10. 健康养生的重要知识是什么