标签: representation

编译器和负数表示

最近我对这个问题很困惑.也许是因为我没有阅读语言规范(这是我的错,我知道).

C99标准没有说明编译器应该使用哪个负数表示.我一直认为存储负数的唯一正确方法是两个补码(在大多数情况下).

所以这是我的问题:您是否知道任何现在的编译器默认实现一个补码或符号幅度表示?我们可以用一些编译器标志更改默认表示吗?

确定使用哪种表示的最简单方法是什么?

那么C++标准呢?

c c++ compiler-construction representation negative-number

5
推荐指数
1
解决办法
1765
查看次数

Matlab中数字的二进制表示

是否有Matlab函数返回浮点数的二进制表示形式?

floating-point binary matlab representation

5
推荐指数
1
解决办法
8988
查看次数

在Pythons内置数值类型上,repr和str总是相同吗?

reprstr相同的上内置数值类型蟒蛇(int,bool,float,和complex),还是有(深奥?)的情况,其中两个可能会产生不同的结果?

关于SO的相关问题(例如本文)关注的是如何__repr__以及__str__可能以不同方式实现,并为字符串返回不同的值,但我找不到关于数字的实际实现的任何内容.

python representation

5
推荐指数
1
解决办法
97
查看次数

盒装特征创造背后的机制如何运作?

我无法理解盒装特征的价值是如何形成的.请考虑以下代码:

trait Fooer {
    fn foo(&self);
}

impl Fooer for i32 {
    fn foo(&self) { println!("Fooer on i32!"); }
}

fn main() {
    let a = Box::new(32);                    // works, creates a Box<i32>
    let b = Box::<i32>::new(32);             // works, creates a Box<i32>
    let c = Box::<Fooer>::new(32);           // doesn't work
    let d: Box<Fooer> = Box::new(32);        // works, creates a Box<Fooer>
    let e: Box<Fooer> = Box::<i32>::new(32); // works, creates a Box<Fooer>
}
Run Code Online (Sandbox Code Playgroud)

显然,变体a和b是微不足道的.但是,变量c没有,可能是因为该new函数只采用相同类型的值,而不是这种情况Fooer != i32.变种d和e的工作,这让我怀疑某种自动转换从Box<i32>Box<Fooer>正在执行. …

polymorphism boxing traits representation rust

5
推荐指数
2
解决办法
143
查看次数

什么是代表一天的最佳格式?

如何表示一天的开始和结束时间?

以2008年10月23日为例,它是在2008-10-23 12:00:00 AM和2008-10-23 11:59:59 PM开始的吗?

datetime representation

4
推荐指数
1
解决办法
893
查看次数

C - 二进制和十六进制表示之间的快速转换

读取或写入C代码时,我经常难以将数字从二进制转换为十六进制表示并返回.通常,0xAAAA5555在低级编程中经常使用不同的掩码,但很难识别它们所代表的特殊位模式.是否有任何易于记忆的规则如何在脑海中快速完成?

c math bit-manipulation representation

4
推荐指数
1
解决办法
1799
查看次数

打印浮点数,使指数标记为"*10 ^"而不是"e"

我正在寻找一种在C/C++中打印浮点(或双倍)f的可能性f = 1.234e-15,比如打印为

  • f = 1.234*10^-15,或者,甚至更好,作为
  • f = 1.234*10^{-15}

谁能帮我?也许有一种方法可以在基数10中获得指数"-15"和尾数"1.234".我发现了一个问题,我如何提取双尾数的尾数,但不幸的是,这并没有真正帮助,因为它只得到尾数在基地2.

c c++ floating-point representation

4
推荐指数
1
解决办法
1270
查看次数

如何将(r,球谐)空间中表示的数据插值到规则的笛卡尔网格(F90)?

我正在尝试将球谐函数插值到立方笛卡尔网格。

我的球面伪光谱模拟的输出数据的Nr径向水平介于rMin和之间rMax,每个水平包含一组经度和纬度的有限阶球谐函数。球谐函数通过三角截断映射到包含Ni经度和纬度的物理球面网格Nj

域如下:

  • 径向水平:rMin <= r(k) <= rMax,带有索引1 <= k <= Nr
  • 球谐函数(三角截断,不产生变换混叠):
    • Nm = (Nj-1)/3
    • 0 <= m <= Nm
    • m <= l <= Nm
    • nlm == (nm+1)*(nm+2)/2(的总数lm组合)

数据数组:

  • 光谱形式: complex*16, dimension( 1:nlm, 1:Nr ) :: foo_spectral
  • 笛卡尔形式: real*8, dimension( 1:Nx, 1:Ny, 1:Nz ) :: foo_cartesian

我正在寻找一种准确,有效的方法,将数据从其频谱表示形式插值到具有边长的立方笛卡尔网格中2*rMax,以使球形域完全适合内部。但是,我只想在球体内进行插值:对于与r<rMin或对应的点rMax<r,三次方网格应具有OUTSIDE_DOMAIN值。

目前,我必须将数据从其频谱表示形式(球面谐波:)foo(Nr,nlm)转换为物理表示形式(球面网格 …

interpolation fortran representation spectral qhull

4
推荐指数
1
解决办法
716
查看次数

使用 C 查找下一个 IEEE 754 可表示数(朝向 -INF)?

我正在尝试编写一个函数,该函数接受一个 32 位浮点数(已从 32 位二进制字符串转换而来)并以 32 位二进制返回先前可表示的浮点数。到目前为止,我已经从二进制转换为向下浮动,但是我在理解如何找到下一个可表示的 IEEE 754 值时遇到了麻烦。你不能只减去可能的最小可表示值(000 0000 0000 0000 0000 0001)吗?另外,在找到最接近的可表示二进制值之前从 IEEE 754 转换为 Float 有什么好处(如果有的话)?

到目前为止,我只有一个将浮点数转换为简单精度 32 位二进制的函数。我会包括我的代码,但这是给学校的,所以我觉得把它放在网上/获得明确的更正和建议是不确定的。

c floating-point representation ieee-754 floating-point-precision

4
推荐指数
1
解决办法
1068
查看次数

REST API,为什么没有HTML而不是JSON?

这可能是一个愚蠢的想法,但我想知道为什么.

我正在阅读REST API和HATEOAS等原则.一直以来,我都在想为什么人们不仅仅使用HTML来表示他们的资源.

当然,我可以想到解决困难和增加数据等缺点,但另一方面,它是一种语义超媒体语言,您可以使用它来分离数据和表示.此外,它是人类可读的,人们可以在浏览器中与其进行交互,关注链接,提交表单等.它既可以用作API,也可以用作UI.

任何人都可以解释为什么使用HTML进行REST API表示是一个可怕的想法?

html api rest json representation

4
推荐指数
3
解决办法
2127
查看次数