C# 无法计算C中的长数据类型#
我不知道为什么我的输出为0。请帮我找出我在修正C#中长数据类型计算时的错误。我已经准备好了几乎所有的变量,以使它更简单,但即使这样,代码也不能像预期的那样工作C# 无法计算C中的长数据类型#,c#,long-integer,C#,Long Integer,我不知道为什么我的输出为0。请帮我找出我在修正C#中长数据类型计算时的错误。我已经准备好了几乎所有的变量,以使它更简单,但即使这样,代码也不能像预期的那样工作 long data_user; long GB; long MB; long kB; long bits; long bits_rem; double giga_C; double mega_c;
long data_user;
long GB;
long MB;
long kB;
long bits;
long bits_rem;
double giga_C;
double mega_c;
double kilo_C;
double byte_C;
double sub_tot;
Console.Write("\nEnter the number of bytes used: ");
data_used = Console.Read();
//Divide data into each units.
GB = data_user / 1073741824;
giga_C = Convert.ToDouble(15.00 * GB);
MB = bits_rem / 1045214;
mega_C = (6.05 * MB);
kB = bits_rem / 10002;
kilo_C = (3.50 * kB);
bits = bits_rem / 0.1;
bits_C = (0.01 * bits);
sub_tot = (giga_C + mega_C + kilo_C + byte_C);
Console.Read
从控制台读取下一个字符,这样您总是可以得到较小的数字除以较大的数字(在整数算术中为零)。例如,您编写1234
,但Console.Read
返回49
,因为'1'
的Unicode点是49
。然后尝试将49
除以1073741824
,显然得到0
您需要按照以下方式读取您的值:Convert.ToInt64(Console.ReadLine())和的副本。另请参阅和