标签: representation

C检查签名号码表示

以下检查签名号码表示的方法在我的机器上正确检查二进制补码,但是我没有补码或签名幅度机器来检查它.代码是否正常工作,更重要的是,它是否可移植?

文件:platform.h

#ifndef PLATFORM_H
#define PLATFORM_H
#include <limits.h>

static
const union {
    signed char sc;
    unsigned char uc;
} plat_4xvYw = {.sc = -1};

#define IS_TWOS_COMPL (plat_4xvYw.uc == UCHAR_MAX)
#define IS_ONES_COMPL (plat_4xvYw.uc == UCHAR_MAX - 1)
#define IS_SIGNED_MAG (plat_4xvYw.uc == (1U << (CHAR_BIT - 1)) + 1U)

#endif
Run Code Online (Sandbox Code Playgroud)

档案:ac

#include <inttypes.h>
#include <limits.h>
#include "platform.h"
#include <assert.h>

int
main (void) {

    assert (IS_TWOS_COMPL);
    if (IS_TWOS_COMPL) {

        printf ("twos complement\n");
    } else if (IS_ONES_COMPL) {

        printf ("ones complement\n");
    } else if …
Run Code Online (Sandbox Code Playgroud)

c platform representation negative-number

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

类似函数的变量

[灵感来自这个问题 ]

假设我有两个列表:

list1 = ['tom', 'mary', 'frank', 'joe', 'john', 'barry']
list2 = [1, 2, 3, 4]
Run Code Online (Sandbox Code Playgroud)

我希望将每个名字list1与一个数字相匹配list2.由于有四个数字list2,我想将前四个名称中的每一个与相应的数字配对list2,并将随机数分配给其余的名称list1.

我知道我可以使用for enumerate和for来解决这个问题random.choice.实际上,我已经为原始问题提供了这样的解决方案.
我想知道,如果有可能做这样的事情:

for name, number in itertools.izip_longest(list1, list2, fillvalue=MAGIC):
    print name, number
Run Code Online (Sandbox Code Playgroud)

最初,我想过使用这样的东西:

MAGIC = random.choice(list1)
Run Code Online (Sandbox Code Playgroud)

但是,random.choice(list1)首先执行,然后将答案用作fillvalue压缩操作.这没有吸引力,因为它没有为它拉链的每对值选择一个新的随机值.因此很明显,它itertools.izip_longest需要它fillvalue本身具有价值的东西,而它并不称之为.实际上,如果我要为它提供一个函数,它将产生一个由名称和可调用函数组成的对,它也是低调的.因此,lambda功能不是可行的解决方案.

我如何创建一个在调用函数时调用某个函数的变量?如何itertools.izip_longest使用fillvalue变量?是__repr__该变量的叫什么?如果是这样,我可以创建一个__repr__调用其中的函数的类吗?

python variables function representation

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

如何让Python类返回一些数据而不是它的对象地址

语境:

使用以下内容:

class test:
    def __init__(self):
        self._x = 2

    def __str__(self):
        return str(self._x)

    def __call__(self):
        return self._x
Run Code Online (Sandbox Code Playgroud)

然后用.创建一个实例 t = test()

我看到如何__str__用于打印:

>>> print t
2
Run Code Online (Sandbox Code Playgroud)

我可以看到如何使用可调用的对象 __call__

>>> t()
2
Run Code Online (Sandbox Code Playgroud)

但是如何让对象返回一个内部属性,以便在输入时:

>>> t
2
Run Code Online (Sandbox Code Playgroud)

代替:

<__main__.test instance at 0x000000000ABC6108>
Run Code Online (Sandbox Code Playgroud)

以类似的方式Pandas打印出DataFrame对象.

python oop methods representation pandas

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

在python/ruby​​的inspect方法中perl相当于repr是什么?

在python/ruby​​的inspect方法中,perl相当于repr是什么?

(我问我可以用它做打印调试)

perl tostring representation

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

Switch语句在字节码中的表示和效率?

虽然 switch 语句可以表示为一系列 if 语句,但似乎在将 Java switch 语句编译成字节码时,使用了不同的方法。

  • 字节码使用的表示是什么?
  • 我认为这种替代表示是出于效率原因,那么效率与 if 语句表示相比如何?
  • 是否有任何其他考虑导致使用这种表示?

java performance bytecode representation switch-statement

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

分数的2的补码表示?

我有点迷失了.我需要使用两个小数位 0.(a-1)(a-2)

这样,现在我可以使用.00 .01 .10.11 但我需要负数(2的补数)也,所以会.10-.5?还是会-.25?同样的.11,那将是-.75?还是会-.5?我很确定在两种情况下它都会成为前者,但我并不完全正面.

math binary representation

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

提示查找表设置位计数算法

我正在寻找设置位计数问题的解决方案(给定二进制数,如何有效地计算设置的位数).

在这里,http://graphics.stanford.edu/~seander/bithacks.html#CountBitsSetNaive,我找到了一些方法.

查找表方法怎么样?我不明白二进制表示/数字的哪些属性使它工作.

static const unsigned char BitsSetTable256[256] = 
{
#   define B2(n) n,     n+1,     n+1,     n+2
#   define B4(n) B2(n), B2(n+1), B2(n+1), B2(n+2)
#   define B6(n) B4(n), B4(n+1), B4(n+1), B4(n+2)
   B6(0), B6(1), B6(1), B6(2)
};

unsigned int v; // count the number of bits set in 32-bit value v
unsigned int c; // c is the total bits set in v

// Option 1:
c = BitsSetTable256[v & 0xff] + 
   BitsSetTable256[(v >> 8) & 0xff] + 
   BitsSetTable256[(v …
Run Code Online (Sandbox Code Playgroud)

binary operations numbers count representation

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

方案:这两个列表有相同的内存表示吗?

我正在使用R5RS标准的Scheme语言.

请看看这两个对象:

  1. (1 (2 . 3))
  2. (1 2 . 3)

他们有相同的记忆表示吗?像这样(A): 在此输入图像描述

或者第一个是不同的?像这样(B):在此输入图像描述

那么......什么是正确的?

memory scheme list representation

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

Python 3中类的字符串表示形式

我希望我的类有一个基于类变量的字符串表示(在派生类中可能有所不同).这个答案表明,元类可能是要走的路:

class MC(type):
    def __repr__(self):
        return 'Wahaha!'

class C():
    __metaclass__ = MC

print(C)
Run Code Online (Sandbox Code Playgroud)

但这在Python 3中不起作用,返回

<class '__main__.C'>
Run Code Online (Sandbox Code Playgroud)

而不是Wahaha!.有人可以向我解释Python 2和3之间的变化以及如何在Python 3中进行更改吗?

python class representation class-variables python-3.x

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

Scala,函数的字符串表示

有没有办法可以获得函数的字符串表示?

val f = List(1, 2, 3, 4, 66, 11).foldLeft(55)_

f是一个类型的函数((Int, Int) => Int) => Int,这将是我正在寻找的表示,但我无法在任何地方找到它.

toString当然,这个方法是我的第一次尝试,但它返回的只是<function1>.scala REPL做得对,文档也是如此.一定有办法吗?

问候.

string scala function representation

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