新手提问,关于数据类型的问题

huadiexiaowu 2005-07-28 02:35:41
程序(Trubo C 2.0环境):

#include <stdio.h>

void main()

{

long a=32767;

a++;

printf("a=%d\n",a);

system("pause");

}

为什么结果等于:

a=-32678
...全文
117 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
gogdo 2005-07-28
  • 打赏
  • 举报
回复
你是不是跟你的PRINTF有关系。
用 %ld就不会有这样的问题出现了。
sunlu_eric 2005-07-28
  • 打赏
  • 举报
回复
当然各种类型的表示范围也是和编译器有关的,上面的在VC6.0下就是32768!
因为它用四个字节表示整型
ruiding 2005-07-28
  • 打赏
  • 举报
回复
vc++ 下结果正确......
sunlu_eric 2005-07-28
  • 打赏
  • 举报
回复
printf("a=%d\n",a);
你是按有符号整形输出的,而32768l用整形输出就是这个结果了!
#include <stdio.h>
void main()
{
printf("%d",32768l);
}
同时还要注意printf()函数的处理方法,很特别!
有人能讲讲原理么?
huadiexiaowu 2005-07-28
  • 打赏
  • 举报
回复
那们高手能把printf函数格式符详细一点儿讲一下,还有scanf函数格式符
XBox360 2005-07-28
  • 打赏
  • 举报
回复
应该是%d这个地方没用对
megaboy 2005-07-28
  • 打赏
  • 举报
回复
%d是用于int的,%ld才是long的,tc的int是两个字节的,楼主用%d显示一个long数值,结果把long数值的低两个字节当int输出了。
ylvb 2005-07-28
  • 打赏
  • 举报
回复
兄弟:是不是结果写错了
最后输出的是:-32768吧?

因为什么呢?

长整型带符号数的范围为:-32768到+32767
32767在加一就超出了上面的范围;
32767+1 结果 用二进制表示就是 1000000000000000
此时符号位变成了-
呵呵
然后求出 1000000000000000 的十进制结果就是-32768

中间牵涉到一点进制转换和补码的问题,如想了解自己看课本吧!
pcboyxhy 2005-07-28
  • 打赏
  • 举报
回复
我用过的几个编译器

long全部是4字节的
pcboyxhy 2005-07-28
  • 打赏
  • 举报
回复
把 long 当成short?
孤陋寡闻了
偶从没听说过这样的事情
darkstar21cn 2005-07-28
  • 打赏
  • 举报
回复
对于long各个编译器的对待都不太一样,一般本人不用。
pcboyxhy 2005-07-28
  • 打赏
  • 举报
回复
long a=32767L;
printf("a=%ld\n",a);

darkstar21cn 2005-07-28
  • 打赏
  • 举报
回复
看来TC把long当成short来看待了,发生溢出正的被成负的了
数据分析师专业数据分析报告撰写规范 数据分析报告的重要性在数据分析师的工作中不言而喻,数据分析报告是数据分析的 展现形式,是完成数据分析的最后一步,是支持决策的依托。即便有些人前期分析都进 行非常好,但就是写不出条理清晰、逻辑缜密、可读性强的分析报告,也是前功尽弃。 很多人喜欢问我有没有报告模板可以给他们抄,套模板对新手来说还是有些用处的, 可以借鉴一下结构和大体思路,但是等我做多了分析就会发现,很少有模板是完全贴合 自己分析需求的,与其找模板借鉴,还不如自己写。 所以今天这篇我们就来讲讲如何才能作出一份优秀的数据分析报告 数据分析报告分类 对于数据分析报告,首先要有一个概念性的认识,按照报告陈述的思路,可分为四类: 描述类报告,通常是对业务数据的日常展现,比如上月的销售额是多少;平均每天 的用户流失是多少,这种报告就像记叙文,描绘发生了什么事情,不求最深但求最全 因果类报告,在描述类报告的基础上,多了一个为什么,通常是对某一现场出现的原因 进行研究,比如老板发现这个月的销售额下滑明显,让你找出背后的原因 预测类报告,通过对事实的现象和原因进行分析和判断,预测未来会发生什么 咨询类报告,类似推理小说,像小马过河,投石问路,在得出分析结论的基础上给出有 价值的建议,指导企业一路前行。 写好数据分析报告的要点 1、确定报告受众和分析目的 无论写什么类型数据分析报告,都要先搞清楚报告给谁看,不同的受众对一份数据分 析报告的期待是不一样的。 比方说一份对集团零售业务毛利额下滑原因的分析报告,集团领导更想看到数据分析的 结论和建议,而各个业务部门更关注导致下滑的具体业务原因,所以针对不同的受众, 我们撰写报告的侧重点也不同 其实就是要清晰报告的分析目的,解决什么问题,想要达到什么预期。 2、框架、思路清晰 作为数据分析结论输出最重要的部分,一份优秀的数据分析报告要能够准确体现你的分 析思路,让读者充分接收你的信息,所以在制作报告时,框架和思路要清晰。 这里的框架不单指报告的行文逻辑,更多是指数据分析过程的框架,比方说我们拿到一 个分析问题,不可能一下子就找到问题背后的原因,需要利用各种手段将问题拆解分析 ,直到得出最终结论,这时候就可能会用到我们常提到的MECE、PEST、AAARRR等分析框 架 3、保障数据准确 写一份报告,获取和整理数据往往会占据 6成以上的时间。要规划数据协调相关部门组织数据采集、导出处理数据,最后才是写报 告,如果数据不准确,那分析的结果也没有意义,报告也就失去价值,因此在收集整合 数据时需要注意数据是否靠谱,验证数据口径和数据范围。 4、让图表传达更加直接 数据图表化这个概念已经不稀奇了,大部分人都知道利用图表传达数据信息。但是图表 的利用并不简单,不是简单把一堆的饼图、柱状图、散点图放到PPT上就能行的,从业这 么多年,我见过的大大小小、各种形式的分析报告不下百份,50%的报告都存在过度堆砌 图表、错误使用图表的现象 图与表之间,图与图之间的联系如何阐述,反映出的问题如何表达,这些都是在做数据 分析图表就要弄明白的。很多细心的领导及专门会针对你的数据分析以及结论来提问, 因为现状和未来是他们最关心的。所以数据图表展现也要体现你的分析思路,而不单单 是为了展示数据。 (1)选择正确的图表 决定我们报告图表形式的并不是拥有的数据是什么,而是我们想要表达的主题是什么。 看下面两张图: 同样的数据,想要表达的主题不同,图表形式就不同,图1表达是爽肤水和沐浴露 两个品类在不同城市的销量排名,图2主要表达的是在相同城市在两个不同的品类的销量 差异。 关于图表的选择,个人总结了三个原则: 1. 明确目标受众:他们对该问题有何了解? 2. 确定要传递的信息:数据说明了什么?需要传达多个信息吗? 3. 确定信息的特点:是要进行项目比较、显示时间趋势,还是分析数据关系? (2)不要放弃图表的标题 有些图表的标题就和猜谜一样,例如:公司销售趋势、分公司销售分布情况,完全没有 突出信息的重点。最好的办法就是将图表要表达的主题直接写在标题里。 比如上面的两个图,修改一下标题,图一就应该是:"各地爽肤水的销售额排名",图二 就是"各地爽肤水和沐浴露销售额差异对比",这样看的人就能快速理解图表想要表达的 信息了 (3)视觉展现 图表配色、布局、重点信息标注什么的我就不多说了,以前讲过很多遍了,今天说一下 从视觉展现形式上来说一说 数据分析报告常规的做法就是Excel+ppt,数据先用excel进行数据分析和可视化,然后 再将图表复制或者截图粘贴到ppt中,效果大概就是下面这样,一份报告少说也得10张p pt 但是一页ppt只能呈现有限个图表和结论,且图表多以静态形式呈现,难以直观表 达两个分析图表之间的联系,所以在形式上,我们可以选择

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧