我正在进行一些浮点计算,结果并不像我希望的那样准确.
这是算法:
... center = (max_x + min_x) / 2 distance = old_x - center new_x = center + (distance * factor) return new_x
min_x,max_x和old_x都是浮点数.我相信当我取最大值和最小值的平均值时会引入最大误差,然后将误差乘以因子(可以是浮点数).
如何最小化FP计算引起的误差,以便new_x尽可能精确?
我以为我会用C++而不是一些解释性的语言写一些东西(因为我需要简单的表现)然后去尝试不同的工具.
首先我发现cygwin因为它有g ++,但它需要cygwin.dll来运行exe.
然后我尝试了mingw,但似乎我需要在libgcc和libgstd之类的内容中包含一些dll,这会使可执行文件膨胀到大约MB(我真的不需要那么多字节来做简单文件I/O )
然后我查看了Visual C++ 2010,因为我已经安装了它,但看起来我需要安装2008只是为了使用.net framework 3.5.好吧,我不介意使用4.0,但我想有很多人在他们的Windows机器上没有4.0,读取文件会很不方便.
我可以使用什么来让我传递小exe(例如:几KB的价值)来执行在大多数Windows机器上运行的简单的一次性操作?(因为它只与windows用户有关)
或者我应该只使用C并使用gcc进行mingw?
我想获取<tag></tag>标签对之间的任何值的内容.
<tag>
This is one block of text
</tag>
<tag>
This is another one
</tag>
Run Code Online (Sandbox Code Playgroud)
我想出的正则表达式是
/<tag>(.*)</tag>/m
虽然,它似乎是贪婪的,并且在括号内捕捉所有内容直到最后</tag>.我希望它尽可能地懒惰,以便每当它看到一个结束标记时,它会将其视为匹配组并重新开始.
如何编写正则表达式以便在给定方案中能够获得多个匹配?
我在以下链接中包含了我所描述的示例
http://rubular.com/r/JW5M3rnqIE
注意:这不是XML,也不是基于任何现有的标准格式.我不需要任何复杂的东西,比如一个带有漂亮解析器的完整库.
可能重复:
在Ruby中按降序排序数组
我想根据某些条件对元素数组进行排序,但顺序相反.所以基本上无论它做了什么然后逆转.
所以例如我有一个字符串数组,我想通过减少字符串长度对它进行排序
a = ["test", "test2", "s"]
a.sort_by!{|str| str.length}.reverse!
Run Code Online (Sandbox Code Playgroud)
虽然这样做了......有没有办法指定条件,以便排序算法反过来做?
我正在从二进制文件中读取字符串.每个字符串都以空值终止.编码是UTF-8.在python中,我只读取一个字节,检查它是否为0,将其附加到字节数组,然后继续读取字节,直到看到0.然后我将字节数组转换为字符串并继续.所有字符串都被正确读取.
我怎样才能在C#中读到这个?我不认为我只是简单地将字节附加到数组,因为数组是固定大小的.
我有一些具有相同列标题的CSV文件.例如
档案A.
header1,header2,header3
one,two,three
four,five,six
Run Code Online (Sandbox Code Playgroud)
档案B.
header1,header2,header3
seven,eight,nine
ten,eleven,twelve
Run Code Online (Sandbox Code Playgroud)
我想合并它,以便将数据合并到一个文件中,标题位于顶部,但其他地方没有标题.
header1,header2,header3
one,two,three
four,five,six
seven,eight,nine
ten,eleven,twelve
Run Code Online (Sandbox Code Playgroud)
实现这一目标的好方法是什么?
我得到以下日期字符串
10 juil 2014
Run Code Online (Sandbox Code Playgroud)
用法语查看一年中的月份名称,我看到它juil是英文的juillet7月份的缩写.
我尝试使用解析它SimpleDateFormat与French区域设置:
System.out.println(new SimpleDateFormat("dd MMM yyyy", Locale.FRENCH).parse("11 juil 2014"));
Run Code Online (Sandbox Code Playgroud)
但它引发了一个例外
java.text.ParseException: Unparseable date: "11 juil 2014"
at java.text.DateFormat.parse(DateFormat.java:357)
Run Code Online (Sandbox Code Playgroud)
然后我尝试在月份名称后面添加一个句点
System.out.println(new SimpleDateFormat("dd MMM yyyy", Locale.FRENCH).parse("11 juil. 2014"));
Run Code Online (Sandbox Code Playgroud)
现在我得到以下输出
Fri Jul 11 00:00:00 EDT 2014
Run Code Online (Sandbox Code Playgroud)
因此看起来我需要一个句点,但是当我尝试解析March date(mars)时,如果添加句点,则无法识别.
我该如何解析法国日期?我可以通过两次传递:第一次有一段时间,然后没有一段时间,并希望其中一个能做到这一点,但是有更好的方法吗?
这是一个哈希,记录我有多少水果
fruits = {"apples" => 10, "pears" => 15, "bananas" => 15, "grapes" => 12}
而且我想知道我最常吃的是哪种水果.
如果有断路器,那么就把它们全部归还.
这是一个写出XML文件的测试应用程序.
为什么路径中的空格被转换为%20?
public class XmlTest
{
public static void main(String[] args)
{
String filename = "C:\\New Folder\\test.xml";
try {
DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
Document doc = docBuilder.newDocument();
TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer();
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "4");
DOMSource source = new DOMSource(doc);
File xmlFile = new File(filename);
if (xmlFile.exists())
{
xmlFile.delete();
}
StreamResult result = new StreamResult(xmlFile);
transformer.transform(source, result);
}
catch (ParserConfigurationException ex)
{
ex.printStackTrace();
}
catch (TransformerException tfe)
{
tfe.printStackTrace();
} …Run Code Online (Sandbox Code Playgroud) 看看这张图片:

通过复制skype列表中的一个联系人生成屏幕截图.数据包含原始字节,其中包含skype显然有用的信息(在这种情况下,联系人名称以及名称的大小).
我想自己完成这个.
这是我尝试复制到剪贴板时使用的代码
byte[] bytes = new byte[] { 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20 };
Clipboard.SetData("My Data", bytes);
Run Code Online (Sandbox Code Playgroud)
哪个会复制到剪贴板.但是,我得到一个DataObject条目以及一些额外的数据,而不仅仅是原始字节:

上半部分是我看到的.下半部分是我截取屏幕的截图.请注意,它只是原始位图数据.
这可以在.NET中完成吗?