反转 while 循环
Reversing a while loop
反转一个while循环,不知道这样问对不对,不过加油。我有一个代码可以将任何整数转换为两位或三位小数。如何?
将整数值除以2,直到小于10,在redo变量中依次计算除以的次数,得到第十次:decimal = (integer, redo):
int InitialInteger = 190;
int Integer = InitialInteger;
int redo = 0;
while (Integer > 10)
{
Integer = Integer / 2;
redo++;
}
//Salida: 5,5
现在我想取回初始整数值(“反转循环”),即,将整数部分乘以 2 的次数与小数部分表示的次数相同:Integer = (decimal1 * 2)^decimal2
int decimal1 = Int16.Parse(Decimal.Split(',')[0]);
int decimal2 = Int16.Parse(Decimal.Split(',')[1]);
while (decimal2 > 0)
{
redo -= 1;
InitialInteger += decimal2 * 2;
}
//Salida: 60
但它不起作用,它永远不会 returns 初始值!
有什么想法吗?
请注意,您必须将 Integer 设置为 float 而不是 int 才能工作。
改用这个
int InitialInteger = 190;
float temp = InitialInteger;
int redo = 0;
while (temp > 10)
{
temp= temp / 2;
redo++;
}
然后反转
while (redo > 0)
{
temp = temp * 2;
redo--;
}
最后温度(或你所说的整数!)又是 190
反转一个while循环,不知道这样问对不对,不过加油。我有一个代码可以将任何整数转换为两位或三位小数。如何?
将整数值除以2,直到小于10,在redo变量中依次计算除以的次数,得到第十次:decimal = (integer, redo):
int InitialInteger = 190;
int Integer = InitialInteger;
int redo = 0;
while (Integer > 10)
{
Integer = Integer / 2;
redo++;
}
//Salida: 5,5
现在我想取回初始整数值(“反转循环”),即,将整数部分乘以 2 的次数与小数部分表示的次数相同:Integer = (decimal1 * 2)^decimal2
int decimal1 = Int16.Parse(Decimal.Split(',')[0]);
int decimal2 = Int16.Parse(Decimal.Split(',')[1]);
while (decimal2 > 0)
{
redo -= 1;
InitialInteger += decimal2 * 2;
}
//Salida: 60
但它不起作用,它永远不会 returns 初始值! 有什么想法吗?
请注意,您必须将 Integer 设置为 float 而不是 int 才能工作。
改用这个
int InitialInteger = 190;
float temp = InitialInteger;
int redo = 0;
while (temp > 10)
{
temp= temp / 2;
redo++;
}
然后反转
while (redo > 0)
{
temp = temp * 2;
redo--;
}
最后温度(或你所说的整数!)又是 190