|
C语言中的数值只能表示一个值,而不能单位。例如,1可以表示1分,也可以表示1角,也可以表示一元。而生活中,所有的东西都有单位。那在程序中,如何表示呢?解决方法如下:
在C语言中,需要使用两个变量来表示一个带单位的数量。例如,1023KB表示为
float a=1023;
int b=1;
其中,a用来表示数值,b用来表示单位。其中,0表示B;1表示KB;2表示MB;3表示GB;4表示TB。
在转化的时候,首先需要将单位都转化为最小单位值B
float c;
c=a*pow(1024,b);
进行各种运算后,再转化为对应的单位制
while(c/1024>=1024)
{
a=c/1024;
b=b+1;
}
以上是一个基本思路。在实际中,还需要考虑很多问题,如精度问题、数据类型范围、单位换算比例问题。 |
|