大家都知道,一个int 或 unsigned int是由4个字节组成的,(《C/C++学习指南》,第3章,第3.2.3节:变量的内存视图)

比如,

int   n  =  sizeof( int) ;   // n为4

大家也可以清晰明确地看到内存里,那4个字节就在那,(《C/C++学习指南》,附录:VC2008调试方法)

但问题是:怎样在代码里转成4个字节呢?

方法1:memcpy

这样的方法非常暴力,也不科学。大家先试一下。

unsigned int a = 0x12345678;

unsigned char buf[4];

memcpy(buf,  &a,  4);

观察buf数组的4个元素的值,是不是就是0x78  0x56  0x34  0x12 (嗯,小端的,这就是缺陷,我们想要的结果事实上是 buf[0]=0x12  buf[1]=0x34  buf[2]=0x56 buf[4]=0x78)

方法2:正规方法  (《C/C++学习指南》,第6章,第6.8节)

buf[0]  = a >> 24;

buf[1] = a >> 16;

buf[2] = a >> 8;

buf[3] = a;

用你的VC看一下,是不是正合你意。直接在调试状态下看,别再printf了。

不用谢了,应该的!

转载于:https://www.cnblogs.com/gcczhongduan/p/4507498.html

C++:怎样把一个int转成4个字节?相关推荐

  1. int 几个字节 python_Python中一个int类型占了几个字节

    Python中一个int类型占了几个字节 发布时间:2020-07-17 11:36:34 来源:亿速云 阅读:117 作者:清晨 小编给大家分享一下Python中一个int类型占了几个字节,希望大家 ...

  2. 有苦有乐的算法 --- 一个int类型的数,换成二进制后,提取最右侧的1所在位置

    问题 一个int类型的数,换成二进制后,提取最右侧的1所在位置 3 = 00000011 ==> 00000001 = 1 4 = 00000100 ==> 00000100 = 4 解析 ...

  3. java长度为100的数组_产生一个int数组,长度为100,并向其中随机插入1-100,不重复...

    #define RANDOM(X) (rand() % X + 1) int main() { //标志数组 int book[] = {}; int result[] = {}; //默认的随机数种 ...

  4. hdu 2098 分拆素数和(一个偶数拆分成两个不同素数和 拆法数量)

    传送门: http://acm.hdu.edu.cn/showproblem.php?pid=2098 分拆素数和 Time Limit: 1000/1000 MS (Java/Others)     ...

  5. 将有格式的int解析成float

    因项目中有一个需求:将采集到所有short int 转换成float型,而且int的后四位是float的小数段,前8位是float的整数段 例如采集到一个 qint16 m = 0x1234,我们需要 ...

  6. java 把ascll转换成char_java中 怎么把一个ascii转换成字符串

    java中 怎么把一个ascii转换成字符串 关注:275  答案:3  信息版本:手机版 电脑版 解决时间 2021-01-18 08:53 提问者壹玍徴戰何亽陪 2021-01-17 22:42 ...

  7. 类型转换——int转换成char(截短)

    转自:http://blog.sina.com.cn/s/blog_70ec9a6f010145wr.html int a,b;  //keil c里的int,也就是16位. a=0000; b=0x ...

  8. 验证哥德巴赫猜想:任何一个大于等于6的偶数均可表示为两个素数的和。如6=3+3,8=3+5,,18=5+13。试编写程序,要求将输入的一个偶数表示成两个素数之和。 输入输出样例如下:

    验证哥德巴赫猜想:任何一个大于等于6的偶数均可表示为两个素数的和.如6=3+3,8=3+5,,18=5+13.试编写程序,要求将输入的一个偶数表示成两个素数之和. 输入输出样例如下: 98 98 = ...

  9. 给定两个有着相同长度且都在字典内的单词,要求写一个方法来把一个单词变型成另一个单词。 一次只能转换一个字母,且每次生成的单词必须在字典内...

    2019独角兽企业重金招聘Python工程师标准>>> EXAMPLE Input: DAMP, LIKE Output: DAMP -> LAMP -> LIMP -& ...

  10. python double转int_如何将int转换成double

    展开全部 将int转换成double可以使用强制62616964757a686964616fe59b9ee7ad9431333431353431类型转换.自动类型转换两种方式. 1.强制类型转换 强制 ...

最新文章

  1. python 画出决策边界_决策边界可视化,让你的分类合理有序
  2. Editplus PHP版
  3. XPath 使用那些事
  4. Docker file 搭建 Nginx镜像
  5. 下载安装oracle旧版本oracle 12c的详细步骤
  6. 误码率越高越好还是越低越好_夜间护理步骤越多越好还是越少越好?NFF
  7. [渝粤题库]陕西师范大学《幼儿园科学教育》作业
  8. python继承属性_Python中的属性继承问题
  9. Redis的事务(一次执行多条命令,防止重读重写)
  10. java中的多线程使用方式
  11. Android FrameWork——Binder机制详解(1)
  12. 远程桌面管理工具比较(转)
  13. Android应用开发提高篇(1)-----获取本地IP
  14. 我的if else代码纯净无暇,一个字也不能简化
  15. vb怎么调用oracle数据库连接,VB 连接Oracle数据库
  16. js函数传参——参数与arguments对象
  17. ps初始化html面表时停止工作打不开,PS打不开提示不能初始化因为首选项是无效的该怎么处理?...
  18. 电脑键盘上各个键的作用
  19. HNU 12814 SIRO Challenge(最短路+状态压缩+dp)
  20. phpexcel出现无法访问此网站,ERR_INVALID_RESPONSE

热门文章

  1. python判断变量相等_Python判断两个对象相等的原理
  2. 只想着一直调用一直爽, 那API凭证泄漏风险如何破?
  3. Jmeter中获取返回结果中的值
  4. 【MSP是什么】最佳管理实践指南
  5. 超实用的JavaScript技巧及最佳实践(下)
  6. 浅析指针(pointer)与引用(reference)
  7. 浅谈ANR及如何分析解决ANR
  8. js 获取/设置文本输入域内光标的位置的方法
  9. 计算点、线、面等元素之间的交点、交线、封闭区域面积和闭合集(待续)
  10. 09月28日 pytorch与resnet(三)预训练的Mask R-CNN 模型进行微调