【发布时间】:2012-01-26 18:46:11
【问题描述】:
我是 C# 新手,但尝试从 WPF 运行此公式。
=(BIN2DEC(RIGHT(DEC2BIN(MOD(INT(A1/16777216), 256),8), 3)) * 16777216) + (MOD(INT(A1/65536), 256) * 65536) + (MOD(INT(A1/256), 256) * 256) + MOD(A1,256)
开始尝试解决,但我认为我什至没有接近.... 如果有人有任何指针......
decimal A1 = Convert.ToInt32(textBox1.Text);
A1 = (A1 / 16777216);
A1 = decimal.Truncate(A1);
A1 = decimal.Remainder(Left, Right);
Convert.ToByte(A1);
String Number = A1.ToString();
Number.Reverse();
Number.Remove(3);
Number.Reverse();
A1 = Convert.ToByte(Number);
等等……
------------------ 更新------------------------------ -----
对不起,如果我试图实现这一点更清楚..
32 位数字应转换为 8 位或 9 位(27 位二进制)数字。如果生成了 9 位十进制数,您将需要删除最重要的十进制数字以显示我想要的数字。
示例: 467597668 转换为 64944484
705313524 转换为 34224884
4294967295 转换为 134217727
我现在正在尝试,但得到的号码不正确?
int A1 = Convert.ToInt32(textBox1.Text);
A1 /= 16777216;
A1 &= 7;
A1 *= 16777216;
int A2 = (((A1 >> 16) & 255) << 16);
int A3 = (((A1 >> 8) & 255) << 8);
int A4 = (A1 & 255);
textBox2.Text = (A1+A2+A3+A4).ToString();
【问题讨论】:
-
你的问题到底是什么?
-
@Ramhound 我相信这是“如果有人有任何指示......”。你应该尝试阅读,它很有用。
-
@BrianGraham - 我觉得要求模糊的指针不是一个有效的 SO 问题。他不解释他不明白的事情。他所要做的就是执行操作的顺序。他可以跳过 INT 方法。他甚至没有提供完整的样本。
-
如果有帮助,我已经更新...不确定为什么数字不正确,但开始了解位运算符语法