导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→c51 的简单的计算为什么不对??

* 35921: c51 的简单的计算为什么不对??

   mojianxiang 
mojianxiang发表的帖子 

 c51 的简单的计算为什么不对??
#include   <stdio.h>  
#include   <aduc812.h>  
main()
{
  unsigned  int a,b;
  unsigned  long z;

  scon = 0x52;    /* scon */                   /* setup serial port control */
  tmod = 0x20;    /* tmod */                   /* hardware (2400 baud @12mhz) */
  tcon = 0x69;    /* tcon */
  th1 =  0xf3;    /* th1 */

  a=12345;
  b=100;
  z=(long)(a*b);
  printf (" z=%ld\n",z);
}
结果应该是1234500;可是显示确是54852;?

发表时间:2003年7月1日15:06:08

  
回复该帖

本主题共有 5 帖,分页:>>>>>该主题的所有内容[5]条

 *树形目录 只列出部分跟帖的标题以及简单的摘要信息 该主题的部分跟帖如下:

  35935.[详细]b>=6时结果已经错误!z没有被定义 unsigned long
摘要:b>=6时结果已经错误!z没有被定义 unsigned long......(45字)
- [lichuanfa][1026次] 2003年7月1日

  35937.[详细]将程序改为 z=(unsigned long)a*b;可以了,注意..
摘要:将程序改为  z=(unsigned long)a*b;可以了,注意优先级!!!!!!!!!!......(71字)
- [lichuanfa][1605次] 2003年7月1日

  35949.[详细]其实你在计算的时候已经有溢出!
摘要:  z=(long)(a*b);  a*b 已经溢出然后再把它转换成Long的已经没有意义! 必须在计算前就转换,a,或b 都可以! 你可以这样做做实验,&nb......(285字)
- [guest][948次] 2003年7月1日

[上一篇帖子]:看门狗复位芯片CAT1161?工作电压:3V。 问题:当电压抖动的时候,CAT1161的/R
[下一篇帖子]:高电平就能响的当然是有源的,做这种东东用无源的蜂明器