- 浏览: 96993 次
- 性别:
- 来自: 台灣省 台北市
最近访客 更多访客>>
文章分类
最新评论
-
sjgau:
http://zh.wikipedia.org/wiki/%E ...
int 的 overflow -
sjgau:
#include <stdio.h>
#inc ...
C 的 main() -
sjgau:
歡迎大家踩我,
請寫理由。
在數學上, (X + 1) 恆大於 (X) -
sjgau:
改成 double 型態之後,雖然有改善,但是這個問題 依然存 ...
在數學上, (X + 1) 恆大於 (X) -
sjgau:
即使在不同的 秒數,或是 微秒(ms)數,
如果相鄰的時間很接 ...
VC++6.0 關於 srand() 提供的範例
計算時間的副程式
精確度可以到 10 ms
// file: psc51.cpp // for time1(), time2() #include <stdio.h> #include <conio.h> #include <stdlib.h> #include <math.h> #include <sys/timeb.h> #include <time.h> // ---------------------------------------------- #include "sj01.h" // ---------------------------------------------- // time1(&t1); void time1(long *t1) { /* FTIME.C: This program uses _ftime to obtain the current * time and then stores this time in timebuffer. millitm Fraction of a second in milliseconds. time Time in seconds since midnight (00:00:00), January 1, 1970, coordinated universal time (UTC). */ struct _timeb timebuffer; // char *timeline; long t2, t3, t4, t5, t6; _ftime( &timebuffer ); // timeline = ctime( & ( timebuffer.time ) ); t2= timebuffer.time;// 秒 t3= t2%(1L*24L*60L*60L); t4= t3*1000L; t5= timebuffer.millitm;// 千分之ㄧ秒 t6= t4 + t5; *t1= t6; // printf( "The time is %.19s.%hu %s", timeline, timebuffer.millitm, &timeline[20] ); // printf("%ld, %ld, %ld, %ld, %ld, \n", // t2, t3, t4, t5, t6); }// end of time1() // ---------------------------------------------- // time2( t1, &dt); void time2(long t1, double *dt) { long t2; time1(&t2); *dt= (t2 - t1)/1000.0; // (*dt) >= 0 if ((*dt) < 0) { (*dt)+= 1.0*24.0*60.0*60.0; } }// end of time2() // ---------------------------------------------- void main() { int no, sum, i, ct1= 0; long t1; double dt; // ---------------------------------------------- no= 10; skip(3); while (no > 0) { time1(&t1); sum= 0; for (i=1;i<=no;i++) { sum+= i; } time2(t1, &dt); // ---------------------------------------------- ct1++; printf("ct1= %3ld, no= %12ld, sum= %12ld, t1= %8ld, dt= %8.4lf\n", ct1, no, sum, t1, dt); if (dt > 0) { pause(); } if (ct1>=16) { // break; } no*= 2; } skip(1); printf("*** end of program!\n"); }// end of main()
评论
1 楼
sjgau
2007-12-20
以下程式,可以證明 最小的時間間隔是
10 ms
10 ms
// file: psc51.cpp // for time1(), time2(), min. dt= 0.01 second, 10 ms /* no= 2000000000, sum= -1973237248, dt= 9.9840 no= 1818181818, sum= 996434927, dt= 9.0630 no= 1652892561, sum= -1341125159, dt= 8.2520 no= 1502629601, sum= -796977071, dt= 7.4910 no= 1366026910, sum= 574788113, dt= 6.8100 no= 1241842646, sum= -1808278179, dt= 6.1890 no= 1128947860, sum= -626730222, dt= 5.6380 no= 1026316236, sum= -525053650, dt= 5.1270 no= 933014760, sum= -1953325164, dt= 4.6570 no= 848195236, sum= -1742216230, dt= 4.2260 no= 771086578, sum= 478252763, dt= 3.8450 no= 700987798, sum= 512634557, dt= 3.4950 no= 637261635, sum= -1422935706, dt= 3.1650 no= 579328759, sum= 891927204, dt= 2.8940 no= 526662508, sum= 1623693438, dt= 2.6240 no= 478784098, sum= -1385563149, dt= 2.3830 no= 435258271, sum= 511561776, dt= 2.1740 no= 395689337, sum= -128593835, dt= 1.9720 no= 359717579, sum= -939025438, dt= 1.7930 no= 327015981, sum= -1121912565, dt= 1.6320 no= 297287256, sum= -1212973492, dt= 1.4820 no= 270261141, sum= 1592856615, dt= 1.3420 no= 245691947, sum= -1959145294, dt= 1.2220 no= 223356315, sum= -1462032198, dt= 1.1120 no= 203051195, sum= 163962026, dt= 1.0110 no= 184591996, sum= -1885152954, dt= 0.9210 no= 167810905, sum= -1413653979, dt= 0.8320 no= 152555368, sum= 585667796, dt= 0.7610 no= 138686698, sum= 1458987879, dt= 0.6910 no= 126078817, sum= -1654396655, dt= 0.6310 no= 114617106, sum= -2042659797, dt= 0.5710 no= 104197369, sum= -699008107, dt= 0.5200 no= 94724881, sum= -990722791, dt= 0.4710 no= 86113528, sum= 1938134684, dt= 0.4310 no= 78285026, sum= -1795049421, dt= 0.3900 no= 71168205, sum= -2009564549, dt= 0.3610 no= 64698368, sum= 1879940096, dt= 0.3200 no= 58816698, sum= -1577963537, dt= 0.2910 no= 53469726, sum= -1024037167, dt= 0.2800 no= 48608841, sum= 1671809933, dt= 0.2400 no= 44189856, sum= 1088312912, dt= 0.2210 no= 40172596, sum= 1774039906, dt= 0.1900 no= 36520542, sum= -264835471, dt= 0.1900 no= 33200493, sum= 1885931755, dt= 0.1600 no= 30182266, sum= -971169585, dt= 0.1610 no= 27438424, sum= 1160863180, dt= 0.1300 no= 24944021, sum= 443177767, dt= 0.1300 no= 22676383, sum= -442920912, dt= 0.1100 no= 20614894, sum= 2020588057, dt= 0.1000 no= 18740812, sum= 698748526, dt= 0.0900 no= 17037102, sum= 190898617, dt= 0.0910 no= 15488275, sum= 2082273854, dt= 0.0800 no= 14080250, sum= -1118120305, dt= 0.0700 no= 12800227, sum= 705821974, dt= 0.0600 no= 11636570, sum= -977953409, dt= 0.0600 no= 10578700, sum= -381797938, dt= 0.0600 no= 9617000, sum= -563567532, dt= 0.0400 no= 8742727, sum= 1023069820, dt= 0.0500 no= 7947934, sum= -358086639, dt= 0.0400 no= 7225394, sum= -1648384773, dt= 0.0300 no= 6568540, sum= -758577738, dt= 0.0400 no= 5971400, sum= 402720004, dt= 0.0300 no= 5428545, sum= -1479669791, dt= 0.0200 no= 4935041, sum= 1085019201, dt= 0.0300 no= 4486401, sum= 790835073, dt= 0.0200 no= 4078546, sum= -2080876021, dt= 0.0200 no= 3707769, sum= 1829658965, dt= 0.0200 no= 3370699, sum= -1434172958, dt= 0.0210 no= 3064272, sum= 483722600, dt= 0.0100 no= 2785702, sum= 1713740965, dt= 0.0100 no= 2532456, sum= -1672607916, dt= 0.0200 no= 2302233, sum= 144722629, dt= 0.0100 no= 2092939, sum= -235445630, dt= 0.0100 no= 1902672, sum= 1900089512, dt= 0.0100 no= 1729702, sum= 1286750245, dt= 0.0100 no= 1572456, sum= -640859052, dt= 0.0100 no= 1429505, sum= -459229183, dt= 0.0000 no= 1299550, sum= -1692806287, dt= 0.0100 no= 1181409, sum= 2079501393, dt= 0.0000 no= 1074008, sum= 1221511372, dt= 0.0000 no= 976371, sum= -90716850, dt= 0.0100 no= 887610, sum= -1210791377, dt= 0.0000 no= 806918, sum= -858781675, dt= 0.0000 no= 733562, sum= -1525968945, dt= 0.0100 no= 666875, sum= -976833142, dt= 0.0000 no= 606250, sum= -913759353, dt= 0.0000 no= 551136, sum= 1551865456, dt= 0.0100 no= 501033, sum= 963232477, dt= 0.0000 no= 455484, sum= 653849766, dt= 0.0000 no= 414076, sum= -169671994, dt= 0.0000 no= 376433, sum= 2131613225, dt= 0.0100 no= 342212, sum= -1574844566, dt= 0.0000 no= 311102, sum= 1147742497, dt= 0.0000 no= 282820, sum= 1339011946, dt= 0.0000 no= 257109, sum= -1307090873, dt= 0.0000 no= 233735, sum= 1546338204, dt= 0.0000 no= 212486, sum= 1100419861, dt= 0.0000 no= 193169, sum= 1477358681, dt= 0.0100 no= 175609, sum= -1760520939, dt= 0.0000 no= 159644, sum= -141718698, dt= 0.0000 no= 145131, sum= 1941641554, dt= 0.0000 no= 131937, sum= 113817361, dt= 0.0000 no= 119943, sum= -1396712996, dt= 0.0000 no= 109039, sum= 1649838984, dt= 0.0000 no= 99126, sum= 618064205, dt= 0.0000 no= 90115, sum= -234565626, dt= 0.0000 no= 81922, sum= -939319293, dt= 0.0000 no= 74475, sum= -1521667246, dt= 0.0000 no= 67704, sum= -2003017636, dt= 0.0000 no= 61549, sum= 1894170475, dt= 0.0000 no= 55954, sum= 1565453035, dt= 0.0000 no= 50867, sum= 1293751278, dt= 0.0000 no= 46243, sum= 1069230646, dt= 0.0000 no= 42039, sum= 883659780, dt= 0.0000 no= 38217, sum= 730288653, dt= 0.0000 no= 34743, sum= 603555396, dt= 0.0000 no= 31584, sum= 498790320, dt= 0.0000 no= 28713, sum= 412232541, dt= 0.0100 no= 26103, sum= 340696356, dt= 0.0000 no= 23730, sum= 281568315, dt= 0.0000 no= 21572, sum= 232686378, dt= 0.0000 no= 19611, sum= 192305466, dt= 0.0000 no= 17828, sum= 158927706, dt= 0.0000 no= 16208, sum= 131357736, dt= 0.0000 no= 14734, sum= 108552745, dt= 0.0000 no= 13395, sum= 89719710, dt= 0.0000 no= 12177, sum= 74145753, dt= 0.0000 no= 11070, sum= 61277985, dt= 0.0000 no= 10063, sum= 50637016, dt= 0.0000 no= 9148, sum= 41847526, dt= 0.0000 no= 8317, sum= 34590403, dt= 0.0000 no= 7561, sum= 28588141, dt= 0.0000 no= 6873, sum= 23622501, dt= 0.0000 no= 6248, sum= 19521876, dt= 0.0000 no= 5680, sum= 16134040, dt= 0.0000 no= 5164, sum= 13336030, dt= 0.0000 no= 4694, sum= 11019165, dt= 0.0000 no= 4268, sum= 9110046, dt= 0.0000 no= 3880, sum= 7529140, dt= 0.0000 no= 3527, sum= 6221628, dt= 0.0000 no= 3206, sum= 5140821, dt= 0.0000 no= 2915, sum= 4250070, dt= 0.0000 no= 2650, sum= 3512575, dt= 0.0000 no= 2409, sum= 2902845, dt= 0.0000 no= 2190, sum= 2399145, dt= 0.0000 no= 1991, sum= 1983036, dt= 0.0000 no= 1810, sum= 1638955, dt= 0.0000 no= 1645, sum= 1353835, dt= 0.0000 no= 1495, sum= 1118260, dt= 0.0000 no= 1359, sum= 924120, dt= 0.0000 no= 1236, sum= 764466, dt= 0.0000 no= 1123, sum= 631126, dt= 0.0000 no= 1021, sum= 521731, dt= 0.0000 no= 928, sum= 431056, dt= 0.0000 no= 844, sum= 356590, dt= 0.0000 no= 767, sum= 294528, dt= 0.0000 no= 697, sum= 243253, dt= 0.0000 no= 634, sum= 201295, dt= 0.0000 no= 576, sum= 166176, dt= 0.0000 no= 524, sum= 137550, dt= 0.0000 no= 476, sum= 113526, dt= 0.0000 no= 433, sum= 93961, dt= 0.0000 no= 393, sum= 77421, dt= 0.0000 no= 358, sum= 64261, dt= 0.0000 no= 325, sum= 52975, dt= 0.0000 no= 295, sum= 43660, dt= 0.0000 no= 269, sum= 36315, dt= 0.0000 no= 244, sum= 29890, dt= 0.0000 no= 222, sum= 24753, dt= 0.0000 no= 202, sum= 20503, dt= 0.0000 no= 183, sum= 16836, dt= 0.0000 no= 167, sum= 14028, dt= 0.0000 no= 151, sum= 11476, dt= 0.0000 no= 138, sum= 9591, dt= 0.0000 no= 125, sum= 7875, dt= 0.0000 no= 114, sum= 6555, dt= 0.0000 no= 103, sum= 5356, dt= 0.0000 no= 94, sum= 4465, dt= 0.0000 no= 85, sum= 3655, dt= 0.0000 no= 77, sum= 3003, dt= 0.0000 no= 70, sum= 2485, dt= 0.0000 no= 64, sum= 2080, dt= 0.0000 no= 58, sum= 1711, dt= 0.0000 no= 53, sum= 1431, dt= 0.0000 no= 48, sum= 1176, dt= 0.0000 no= 43, sum= 946, dt= 0.0000 no= 39, sum= 780, dt= 0.0000 no= 36, sum= 666, dt= 0.0000 no= 33, sum= 561, dt= 0.0000 no= 30, sum= 465, dt= 0.0000 no= 27, sum= 378, dt= 0.0000 no= 24, sum= 300, dt= 0.0000 no= 22, sum= 253, dt= 0.0000 no= 20, sum= 210, dt= 0.0000 no= 18, sum= 171, dt= 0.0000 no= 16, sum= 136, dt= 0.0000 no= 15, sum= 120, dt= 0.0000 no= 14, sum= 105, dt= 0.0000 no= 12, sum= 78, dt= 0.0000 no= 11, sum= 66, dt= 0.0000 *** end of program! dt_min= 0.0100 Press any key to continue */ #include <stdio.h> #include <conio.h> #include <stdlib.h> #include <math.h> #include <sys/timeb.h> #include <time.h> // ---------------------------------------------- #include "sj01.h" #include "sj02.h" // ---------------------------------------------- // get_sum(no); int get_sum(int no) { int sum= 0; for (int i=1;i<=no;i++) { sum+= i; } return(sum); }// end of get_sum() // ---------------------------------------------- void main() { int no, sum, t1; double x1= 20e8, dt, dt_min= 999; // ---------------------------------------------- skip(3); no= (int) x1; while (no > 10) { time1(&t1); sum= get_sum(no); time2(t1, &dt); // ---------------------------------------------- printf("no= %12ld, sum= %12ld, dt= %10.4lf\n", no, sum, dt); if (dt > 0) { // dt_min must <= any dt if (dt_min > dt) { dt_min= dt; } } x1/= 1.1; no= (int) x1; } skip(1); printf("*** end of program! dt_min= %10.4lf\n", dt_min); }// end of main()
相关推荐
在JavaScript生态系统中,"公用程式"通常指的是提供各种实用功能的模块或库,帮助开发者处理日常编程任务,比如字符串操作、数组处理、日期时间格式化等。这些工具函数集通常具有高可复用性,可以大大提高开发效率。...
计算滚珠丝杠副的预期额定动载荷需要考虑预期工作时间、预期运行距离、最大轴向负载等因素。 4. 估算滚珠丝杠的最大允许轴向变形量 滚珠丝杠的最大允许轴向变形量是滚珠丝杠的关键参数。根据 X 向运动的重复定位...
在抢占式操作系统中,假设有若干进程,操作系统会根据他们的优先级、饥饿时间(已经多长时间没有使用过 CPU 了),给他们算出一 个总的优先级来。操作系统就会把 CPU 交给总优先级最高的这个进程。当进程执行完毕...
10. **电脑类**:电脑业务政策的制定、系统计划呈核、设备购置及更换等,均需经过审批,部分操作如电脑程式设计和修改由副课长批准。 11. **财务类**:资金预算、收获作业和零用金管理是财务部门的重要职责,如预算...
在数控系统的编程中,宏程序是通过一种结构化的编程语言来实现的,包括了对函数列表、副程序调用、变数规格的详细说明。这些编程元素包括公用变数、区域变数、系统变数、模态变数、客户参数、介面信号、模式群组变数...
为了消除间隙和提高精度,可以采用双螺母齿差式、双螺母螺纹式、双螺母垫片式或单螺母变位导程自预紧式的方法进行预紧。 谐波齿轮减速器是一种利用柔性轮的可控变形来实现动力传递的装置,它可以分为连续作用式和...
文章指出,使用Matlab进行动力学分析的优点在于它可以进行程式化高、易于理解和编程计算的工作。通过Matlab,研究者能够分析并联机构在不同运动规律下的动态特性,并为机构的轨迹规划和电机参数的选取提供有力的数据...
* 副程式或自定义函数的调用。 * SQL语法使用。 * 数据结构的使用,如process internal table的声明与使用。 三、Reports Overview * 报表任务(Reports Task),如报表预览或打印的选择。 * 报表模块是一个独立的...
9. **分程控制系统**:当一个调节器的输出信号控制两个或多个调节阀,且每个阀在不同信号区间工作,就构成了分程控制系统,可以实现更精细的控制。 10. **前馈控制**:前馈控制能针对特定干扰进行补偿,与反馈控制...
在GP3.0中,生产计划是基于销售预测进行的,通过移动式检视日排程,可以明确产品的生产时间、机台维修时间和换线时间,进而最大化利用产能。报工作业提供了对机台稼动率、人员效率和不良率的分析,有助于发现生产...
- 根据机构的行程速比系数K,以及滑块的总行程时间,计算推程和回程的时间分配。 - 结合凸轮每转一圈的角度(360°),确定推程运动角和回程运动角的具体数值。 #### 2. 凸轮廓线的方程 - **原理**: 根据给定的从...
⑵、滚珠丝杠螺母副几何参数计算 表 2-1 滚珠丝杠螺母副几何参数 名 称符 号计算公式和结果 螺纹滚道公称直径10 螺距 接触角 钢球直径 螺纹滚道法面半径 偏心距 螺纹升角 螺杆 螺杆外径 螺杆内径 螺杆接触直径 螺母 ...
### 知识点九:代数式的简化与计算 **例题9:** 下列各式中,计算正确的是() 这类问题主要考察学生的代数运算能力,包括代数式的简化、合并同类项等基础操作。 ### 知识点十:概率 **例题11:** 同时抛掷两枚1...
在彩电生产中,配管是为了匹配电路板与显像管的参数,确保行逆程时间在标准范围内,如PAL-D制式要求的11.8~12μs。 7. **电路分析**:试题中的电路分析涉及基础电子电路知识,如电压的计算和晶体振荡器的谐振频率等...
直线共轭齿廓齿轮副的滑动系数研究,主要讨论了基于复数矢量法构建的直线共轭齿廓啮合线方程,并导出了啮合点的速度方程和相对滑动系数的计算式。在此基础上,研究者进一步作出了运动速度和相对滑动系数的变化曲线,...
- 确定凸轮的推程运动角和回程运动角,并给出凸轮廓线的方程式。 #### 六、速度瞬心法求构件速度与角速度 **题目解析:** 这部分要求使用速度瞬心法求解构件4的速度和构件5的角速度。 1. **速度瞬心法原理**: ...
这次考试涵盖了**算量和手算两个方面,通过对图纸和**模型的深入剖析,帮助新员工理解计算设置、模型建立、图纸分析以及手工算量的基本流程和技巧。 在考试后的讲解总结会上,赵**,**分公司经济管理部的负责人,...
- **分程控制系统**:一个控制器控制多个执行器,实现灵活的控制策略。 - **选择控制系统**:根据不同的条件选择不同的控制模式。 - **前馈控制系统**:用于补偿已知干扰对被控对象的影响。 - **比值控制系统**:...
17. 椭圆齿轮流量计、活塞式流量计和圆盘流量计都属于容积式流量计,通过测量流体在特定时间内充满固定容积的次数来计算流量。 18. 在CENTUM CS3000系统中,SV代表给定值,即期望的控制输出。 19. 工作端为100℃,...