不同变量类型的运算

来源:本站
导读:目前正在解读《不同变量类型的运算》的相关信息,《不同变量类型的运算》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《不同变量类型的运算》的详细说明。
简介:本文是关于 不同变量类型的运算。

这里几天在DIY一个DDS

遇到一个很有意思的问题

撸出来大家瞧瞧

unsigned int FREQ_MHz=0,FREQ_kHz=0,FREQ_Hz=0;long unsigned int FREQ=1000;

定义了无符号整型的三个变量

FREQ_MHz、FREQ_kHz和FREQ_Hz

一个无符号long型变量

FREQ

四个变量进行运算

FREQ = FREQ_MHz*1000000+FREQ_kHz*1000+FREQ_Hz;

上式运算,FREQ_kHz变量值超过50,FREQ_kHz*1000运算就会出错

譬如FREQ_MHz=3,FREQ_kHz=66,FREQ_Hz=10

运算结果 FREQ=3042610

估摸着是变量类型不对造成的问题

遂改为

FREQ = FREQ_MHz*1000000+(long)FREQ_kHz*1000+FREQ_Hz;

一切运算正常

那么问题来了

为毛FREQ_MHz和FREQ_Hz没有强制转换

计算结果会对呢?

大神们,快出来水水

补充一下,编译环境是CCS6

提醒:《不同变量类型的运算》最后刷新时间 2024-03-14 00:56:49,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《不同变量类型的运算》该内容的真实性请自行鉴别。