标签: representation

.NET Decimal的二进制表示

嘿所有,快速问题:.NET decimal类型如何在内存中以二进制形式表示?

我们都知道浮点数是如何存储的,因此存在不准确的原因,但decimal除了以下内容之外我找不到任何有关的信息:

  1. 显然比浮点数更准确
  2. 占用128位内存
  3. 2 ^ 96 +符号范围
  4. 28(有时29?)总数字的有效数字

有什么方法可以解决这个问题吗?我的计算机科学家要求答案,经过一个小时的尝试研究,我找不到它.似乎有很多浪费的东西,或者我只是在脑海中想象这个错误.有人可以对此有所了解吗?谢谢.

.net binary decimal representation

18
推荐指数
1
解决办法
3010
查看次数

我们如何获得__repr __()的默认行为?

如果有人在python中编写一个类,并且未能指定自己的__repr__()方法,则为它们提供默认方法.但是,假设我们要编写一个与默认行为具有相同或相似行为的函数__repr__().但是,我们希望此函数具有默认__repr__()方法的行为,即使__repr__()该类的实际重载也是如此.也就是说,假设我们想要编写一个与默认行为具有相同行为的函数,__repr__()而不管是否有人重载了该__repr__()方法.我们怎么做?

class DemoClass:
    def __init__(self):
        self.var = 4
    def __repr__(self):
        return str(self.var)

def true_repr(x):
    # [magic happens here]
    s = "I'm not implemented yet"
    return s

obj = DemoClass()

print(obj.__repr__())

print(true_repr(obj))
Run Code Online (Sandbox Code Playgroud)

期望的输出:

print(obj.__repr__())打印4,但print(true_repr(obj))打印如下:
<__main__.DemoClass object at 0x0000000009F26588>

python repr representation python-3.x

15
推荐指数
3
解决办法
1866
查看次数

Lisp:如何覆盖CLOS类的默认字符串表示?

在Common Lisp中,如何覆盖CLOS类的默认字符串表示形式,以便调用formatprinc打印可理解的内容,即使该类的对象嵌入其他类型(如列表或数组)中也是如此?

例如,如果我(format t "~a~%" x)在x持有我的解决方案类的实例时调用,我希望它打印出类似的东西#<SOLUTION genes: #(1 2 3) scores: #(4 5) rank: 6>而不是#<SOLUTION {BB7CD31}>.

到目前为止,我已经设法弄清楚是编写自定义函数来处理我知道将包含此类实例的打印结构,但这很乏味.当然Lisp提供了一些免费获得此功能的方法吗?

lisp string common-lisp representation clos

14
推荐指数
2
解决办法
2799
查看次数

为什么未使用未装箱类型的未定义函数是levity-polymorphic?

我刚读完Levity Polymorphism这篇论文.

我有一个问题,undefined当用作未装箱的类型时,为什么可以是levity-polymorphic.

首先,让我们从论文的一些盒子定义开始:

  • 盒装:

    • 装箱值由指针到堆中表示.

    • Int并且Bool是具有盒装值的类型的示例.

  • 未装箱:

    • 装箱的值由值本身表示(不是指向堆的指针).

    • Int#Char#从所述GHC.Prim模块是类型与实例装箱值.

    • 装箱的值不能是thunk.必须通过值传递未装箱类型的函数参数.

本文遵循一些轻浮的定义:

  • 举起:

    • 抬起类型是一个是懒.

    • 解除类型具有超出了正常的人额外元件上,表示非终止计算.

    • 例如,该类型Bool提升,这意味着存在用于三个不同的值Bool:True,False,和?(底部).

    • 所有提升类型必须装箱.

  • 未提升

    • 提升的类型是严格的类型.

    • 该元素?不存在于未提升类型中.

    • Int#并且Char#是未提升类型的例子.

本文接着解释了GHC …

polymorphism haskell representation

14
推荐指数
1
解决办法
261
查看次数

c#中布尔值的二进制表示是什么

我知道布尔值是1个字节(8位长)但我想知道它的二进制表示是什么.例如decimal => binary 4 => 100(0000 0100)8 => 1000(0000 1000)bool value => ???

c# binary boolean representation bit

13
推荐指数
4
解决办法
2万
查看次数

C表示基数2中的int

可能重复:
我可以在C或C++中使用二进制文字吗?

我正在学习C,我最近发现我们可以用不同的方式表示整数,如:

(假设i"人类可读"的值为512.)以下是表示:

十进制:

int i = 512; 
Run Code Online (Sandbox Code Playgroud)

八:

int i = 01000;
Run Code Online (Sandbox Code Playgroud)

十六进制:

int i = 0x200;
Run Code Online (Sandbox Code Playgroud)

在基数2(或二进制表示)中,5121000000000.怎么用C写这个?

有点像int i = 1000000000b?这很有趣,但遗憾的是没有C编译器接受该值.

c binary integer representation

13
推荐指数
3
解决办法
6万
查看次数

从消耗时间的项目生成线性的,基于时间轴的表示,而不生成但仍需要空间的项目

这是关于为一组并行数据生成图像或任何其他表示的问题.是不是绘图或GUI编程,而是计算位置.首先,我将解释一下我现在站在哪里,第二个图像和示例显示我的问题.

当前状态

exampleOne-Easy http://www.wargsang.de/text3935.png

我有一维物体,但它们通过将它们放在平行的"线"上来对齐.让我们将这个具有"持续时间"作为时间单位的一维对象称为"事件".这些事件有一个没有任何反应的变体,没有数据但持续时间的对象; 一个"差距" - 对象.

因此,我们得到了一个由事件和间隙组成的模拟对象的时间表,这很容易作为三个对象列表来处理.可视化也很简单:循环遍历列表并根据其持续时间绘制每个对象.

class Event():
    def __init__(self, duration, displacement = 0):  #displacement is explained in the second example and the core problem of this question
        self.duration = duration
        self.displacement = displacement
        #additional data

    def self.draw(self, start_coordinate):
        """draw duration * 10 pixels in black"""
        #drawing code using start_coordinate to place the drawn object. see example graphic
        return duration * 10


class Gap():
    def __init__(self, duration, displacement = 0):
        self.duration = duration
        self.displacement = displacement
        #no …
Run Code Online (Sandbox Code Playgroud)

python algorithm representation python-3.x

13
推荐指数
1
解决办法
1727
查看次数

很好地代表python中的浮点数

我想将一个浮点数表示为一个四舍五入到一些有效数字的字符串,并且从不使用指数格式.基本上,我想显示任何浮点数,并确保它"看起来不错".

这个问题有几个部分:

  • 我需要能够指定有效位数.
  • 有效位数需要变量,使用字符串格式化运算符无法完成.[编辑]我被纠正了; 字符串格式化操作符可以执行此操作
  • 我需要它像一个人期望的那样四舍五入,而不是像1.999999999999那样

我已经想出了这样做的一种方法,虽然它看起来像是一种工作,但它并不完美.(最大精度为15位有效数字.)

>>> def f(number, sigfig):
    return ("%.15f" % (round(number, int(-1 * floor(log10(number)) + (sigfig - 1))))).rstrip("0").rstrip(".")

>>> print f(0.1, 1)
0.1
>>> print f(0.0000000000368568, 2)
0.000000000037
>>> print f(756867, 3)
757000
Run Code Online (Sandbox Code Playgroud)

有一个更好的方法吗?为什么Python没有内置函数呢?

python floating-point significant-digits representation

12
推荐指数
2
解决办法
2万
查看次数

Python正确使用__str__和__repr__

我目前的项目需要广泛使用位字段.我找到了一个简单的,功能性的配方,用于一个字段类,但它缺少我需要的一些功能,所以我决定扩展它.我刚刚实施__str__,__repr__我想确保我遵循惯例.

__str__应该是非正式和简洁的,所以我让它返回位字段的十进制值(str(bit field 11) 即将是"3".

__repr__应该是对象的官方表示,所以我让它返回实际的位串(repr(bit field 11)即将是"11").

在您看来,这个实现是否符合strrepr

另外,我已经使用该bin()函数来获取存储在类中的值的位串.这与Python <2.6不兼容,有替代方法吗?

干杯,

皮特

python bit-manipulation conventions representation

10
推荐指数
1
解决办法
2855
查看次数

如何在C#中使用Int64

问题很简单!你如何在C#中表示64位int?

c# 64-bit integer representation int64

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