小编Boi*_*ise的帖子

AnsiString是Embarcadero C++ Builder中类型字符串的默认值?

我继承了一个旧的Borland C++ Builder应用程序,现在我必须迁移到一个新的开发工具.建议的方法是使用Embarcadero C++ Builder,从我最初的测试看,它似乎是一个相当平滑的过渡.

但我有一个问题,我希望有一个简单的解决方案:

该应用程序解析大量的文本文件.这些文件都是基于ANSI的,并且永远不会改变,因此它是ANSI输入和ANSI输出.我string遇到的主要问题是,使用Embarcadero C++,类型现在是一个UnicodeString而不是AnsiString(就像在Borland C++ Builder中一样).

在此应用程序中使用Unicode不是一个选项 - 它使用的文件是ANSI格式的.修改要使用的代码AnsiString(和类似的代码)是可行的,但我不愿意,因为它使用了很多TStringList(和类似的)构造.

所以我的问题是:是否有一个设置或编译器选项或者我可以用来告诉Embarcadero System.AnsiString用作定义string而不是System.UnicodeString

这可能是一个长镜头,但是RAD Studio XE(我借用它来做一些测试的旧版本)文档说" 默认情况下,类型string现在是一个Unicode字符串",这意味着这可以是改变.然而,这在当前版本(XE8)的文档中被重新描述,所以......

c++ c++builder unicode-string ansistring

3
推荐指数
1
解决办法
5182
查看次数

如何将两个32位无符号整数解释为64位浮点("双精度")值?

我对matlab的了解非常有限,所以我将使用更一般的术语来解释我的问题:

我们有一个记录系统,可以实时对嵌入式系统中的变量进行采样,并将记录的数据作为matlab文件进行分析.

我的问题是,如果记录的变量是"双"(更具体地说是64位,IEEE 754-1985,浮点值),结果将作为两个无符号32位整数传递,我不知道如何在matlab中将其转换回浮点值.

例如,如果我记录变量SomeFloat,这是一个双,我将记录的数据作为两组数据,SomeFloat1SomeFloat2.两者都是无符号的32位整数.SomeFloat1包含32个最重要的位SomeFloat,和SomeFloat2包含32个最低有效位.

我希望找到一个现有的功能来转换它做一个双,我的意思是:

MyDouble = MyDreamFunction(SomeFloat1, SomeFloat2)
Run Code Online (Sandbox Code Playgroud)

我一直无法找到 MyDreamFunction,但是对matlab不熟悉,我不确定在哪里看......

那么,有没有人知道这样做的简单方法?

matlab

2
推荐指数
1
解决办法
281
查看次数

标签 统计

ansistring ×1

c++ ×1

c++builder ×1

matlab ×1

unicode-string ×1