C++:怎样把一个int转成4个字节?
大家都知道,一个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个字节?相关推荐
- int 几个字节 python_Python中一个int类型占了几个字节
Python中一个int类型占了几个字节 发布时间:2020-07-17 11:36:34 来源:亿速云 阅读:117 作者:清晨 小编给大家分享一下Python中一个int类型占了几个字节,希望大家 ...
- 有苦有乐的算法 --- 一个int类型的数,换成二进制后,提取最右侧的1所在位置
问题 一个int类型的数,换成二进制后,提取最右侧的1所在位置 3 = 00000011 ==> 00000001 = 1 4 = 00000100 ==> 00000100 = 4 解析 ...
- java长度为100的数组_产生一个int数组,长度为100,并向其中随机插入1-100,不重复...
#define RANDOM(X) (rand() % X + 1) int main() { //标志数组 int book[] = {}; int result[] = {}; //默认的随机数种 ...
- hdu 2098 分拆素数和(一个偶数拆分成两个不同素数和 拆法数量)
传送门: http://acm.hdu.edu.cn/showproblem.php?pid=2098 分拆素数和 Time Limit: 1000/1000 MS (Java/Others) ...
- 将有格式的int解析成float
因项目中有一个需求:将采集到所有short int 转换成float型,而且int的后四位是float的小数段,前8位是float的整数段 例如采集到一个 qint16 m = 0x1234,我们需要 ...
- java 把ascll转换成char_java中 怎么把一个ascii转换成字符串
java中 怎么把一个ascii转换成字符串 关注:275 答案:3 信息版本:手机版 电脑版 解决时间 2021-01-18 08:53 提问者壹玍徴戰何亽陪 2021-01-17 22:42 ...
- 类型转换——int转换成char(截短)
转自:http://blog.sina.com.cn/s/blog_70ec9a6f010145wr.html int a,b; //keil c里的int,也就是16位. a=0000; b=0x ...
- 验证哥德巴赫猜想:任何一个大于等于6的偶数均可表示为两个素数的和。如6=3+3,8=3+5,,18=5+13。试编写程序,要求将输入的一个偶数表示成两个素数之和。 输入输出样例如下:
验证哥德巴赫猜想:任何一个大于等于6的偶数均可表示为两个素数的和.如6=3+3,8=3+5,,18=5+13.试编写程序,要求将输入的一个偶数表示成两个素数之和. 输入输出样例如下: 98 98 = ...
- 给定两个有着相同长度且都在字典内的单词,要求写一个方法来把一个单词变型成另一个单词。 一次只能转换一个字母,且每次生成的单词必须在字典内...
2019独角兽企业重金招聘Python工程师标准>>> EXAMPLE Input: DAMP, LIKE Output: DAMP -> LAMP -> LIMP -& ...
- python double转int_如何将int转换成double
展开全部 将int转换成double可以使用强制62616964757a686964616fe59b9ee7ad9431333431353431类型转换.自动类型转换两种方式. 1.强制类型转换 强制 ...
最新文章
- python 画出决策边界_决策边界可视化,让你的分类合理有序
- Editplus PHP版
- XPath 使用那些事
- Docker file 搭建 Nginx镜像
- 下载安装oracle旧版本oracle 12c的详细步骤
- 误码率越高越好还是越低越好_夜间护理步骤越多越好还是越少越好?NFF
- [渝粤题库]陕西师范大学《幼儿园科学教育》作业
- python继承属性_Python中的属性继承问题
- Redis的事务(一次执行多条命令,防止重读重写)
- java中的多线程使用方式
- Android FrameWork——Binder机制详解(1)
- 远程桌面管理工具比较(转)
- Android应用开发提高篇(1)-----获取本地IP
- 我的if else代码纯净无暇,一个字也不能简化
- vb怎么调用oracle数据库连接,VB 连接Oracle数据库
- js函数传参——参数与arguments对象
- ps初始化html面表时停止工作打不开,PS打不开提示不能初始化因为首选项是无效的该怎么处理?...
- 电脑键盘上各个键的作用
- HNU 12814 SIRO Challenge(最短路+状态压缩+dp)
- phpexcel出现无法访问此网站,ERR_INVALID_RESPONSE