嘿所有,快速问题:.NET decimal
类型如何在内存中以二进制形式表示?
我们都知道浮点数是如何存储的,因此存在不准确的原因,但decimal
除了以下内容之外我找不到任何有关的信息:
有什么方法可以解决这个问题吗?我的计算机科学家要求答案,经过一个小时的尝试研究,我找不到它.似乎有很多浪费的东西,或者我只是在脑海中想象这个错误.有人可以对此有所了解吗?谢谢.
如果有人在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>
在Common Lisp中,如何覆盖CLOS类的默认字符串表示形式,以便调用format
或princ
打印可理解的内容,即使该类的对象嵌入其他类型(如列表或数组)中也是如此?
例如,如果我(format t "~a~%" x)
在x持有我的解决方案类的实例时调用,我希望它打印出类似的东西#<SOLUTION genes: #(1 2 3) scores: #(4 5) rank: 6>
而不是#<SOLUTION {BB7CD31}>
.
到目前为止,我已经设法弄清楚是编写自定义函数来处理我知道将包含此类实例的打印结构,但这很乏味.当然Lisp提供了一些免费获得此功能的方法吗?
我刚读完Levity Polymorphism这篇论文.
我有一个问题,undefined
当用作未装箱的类型时,为什么可以是levity-polymorphic.
首先,让我们从论文的一些盒子定义开始:
盒装:
甲装箱值由指针到堆中表示.
Int
并且Bool
是具有盒装值的类型的示例.
未装箱:
本文遵循一些轻浮的定义:
举起:
甲抬起类型是一个是懒.
甲解除类型具有超出了正常的人额外元件上,表示非终止计算.
例如,该类型Bool
被提升,这意味着存在用于三个不同的值Bool
:True
,False
,和?
(底部).
所有提升类型必须装箱.
未提升
未提升的类型是严格的类型.
该元素?
不存在于未提升类型中.
Int#
并且Char#
是未提升类型的例子.
本文接着解释了GHC …
我知道布尔值是1个字节(8位长)但我想知道它的二进制表示是什么.例如decimal => binary 4 => 100(0000 0100)8 => 1000(0000 1000)bool value => ???
可能重复:
我可以在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)
有点像int i = 1000000000b
?这很有趣,但遗憾的是没有C编译器接受该值.
这是关于为一组并行数据生成图像或任何其他表示的问题.是不是绘图或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) 我想将一个浮点数表示为一个四舍五入到一些有效数字的字符串,并且从不使用指数格式.基本上,我想显示任何浮点数,并确保它"看起来不错".
这个问题有几个部分:
我已经想出了这样做的一种方法,虽然它看起来像是一种工作,但它并不完美.(最大精度为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没有内置函数呢?
我目前的项目需要广泛使用位字段.我找到了一个简单的,功能性的配方,用于一个字段类,但它缺少我需要的一些功能,所以我决定扩展它.我刚刚实施__str__
,__repr__
我想确保我遵循惯例.
__str__
应该是非正式和简洁的,所以我让它返回位字段的十进制值(str(bit field 11)
即将是"3"
.
__repr__
应该是对象的官方表示,所以我让它返回实际的位串(repr(bit field 11)
即将是"11"
).
在您看来,这个实现是否符合str
和repr
?
另外,我已经使用该bin()
函数来获取存储在类中的值的位串.这与Python <2.6不兼容,有替代方法吗?
干杯,
皮特
representation ×10
python ×4
binary ×3
c# ×2
integer ×2
python-3.x ×2
.net ×1
64-bit ×1
algorithm ×1
bit ×1
boolean ×1
c ×1
clos ×1
common-lisp ×1
conventions ×1
decimal ×1
haskell ×1
int64 ×1
lisp ×1
polymorphism ×1
repr ×1
string ×1