一段c++程序,小弟看不懂
一段c++程序,小弟看不懂#include #include using namespace std;void main(){double t=15.9375;char *low=(char *)&t;char *high=(char *)(&t+1)-1;char *cp=high;//从高字节到低字节,每个字节一组while(cp >=low){bitsetbs(*cp);cout
最佳回答
哥帮你看,给分我。我先洗澡,有什么问题继续问double t=15。9375; //double占8个字节。&t 则是指向double型的指针(指向8个字节的第一个字节)。char *low=(char *)&t; char 占1个字节,char *low 为指针,指向char型变量的第一个字节,也是唯一一个字节。(char *) &t ::::&t本来是表示8个字节的double的指针。但被强制转换成表示1个字节的char指针。指向double t 的第一个字节。所以 char *low=(char *)&t; 指向double t 的第一个字节。char *high=(char *)(&t+1)-1;(&t+1) &t还没被强制转换,所以&t + 1 表示指向double t 后的8个字节。(char *)(&t+1)强转后,指向 &t+1表示double t 后的的第1个字节。char *high=(char *)(&t+1)-1; 后退一个(char *) 的距离,即一个字节。指向double t中八个字节中的最后一个字节。char *cp=high;指向double t中八个字节中的最后一个字节。所以最后是:char *low=(char *)&t; 指向double t 的第一个字节。char *cp=high;指向double t中八个字节中的最后一个字节。
最新回答共有2条回答
-
2026-04-03 19:57:34要减肥的红酒
回复哥帮你看,给分我。我先洗澡,有什么问题继续问double t=15。9375; //double占8个字节。&t 则是指向double型的指针(指向8个字节的第一个字节)。char *low=(char *)&t; char 占1个字节,char *low 为指针,指向char型变量的第一个字节,也是唯一一个字节。(char *) &t ::::&t本来是表示8个字节的double的指针。但被强制转换成表示1个字节的char指针。指向double t 的第一个字节。所以 char *low=(char *)&t; 指向double t 的第一个字节。char *high=(char *)(&t+1)-1;(&t+1) &t还没被强制转换,所以&t + 1 表示指向double t 后的8个字节。(char *)(&t+1)强转后,指向 &t+1表示double t 后的的第1个字节。char *high=(char *)(&t+1)-1; 后退一个(char *) 的距离,即一个字节。指向double t中八个字节中的最后一个字节。char *cp=high;指向double t中八个字节中的最后一个字节。所以最后是:char *low=(char *)&t; 指向double t 的第一个字节。char *cp=high;指向double t中八个字节中的最后一个字节。
热门文章
- 康达学院专转本五年制
- 高考一个考场分ab卷吗
- not only but also用法
- 某物体做自由落体运动,从释放开始计时,则物体在前2s内的平均速度为______m/s,物体下落2m时的速度大小为______m/s.
- 三角函数公式大全表格
- 地理中考必背知识点2022
- 2013-2014学年小学六年级科学上学期期末考试试卷及答案
- 人教版2014-2015学年小学五年级英语第二学期期中教学质量检测试卷及答案
- 【Linux驱动开发】设备树详解(二)设备树语法详解
- 别跟客户扯细节
- 在别的城市买房子能落户吗
- 卖房前要把装修贷还完吗
- 高中政治教学提高教学效果的方法探究
- “互联网+”背景下的初中英语课堂教学改革与创新策略研究
- 2022年终止合同范本
- 租房合同范本范文
- 如何挑选土豆
- 如何挑选土鸡
