标签: addition

如何找到两列数据之间的差异?

我有一个带有两列整数数据的临时表,我想找到第三列中两列之间的差异.

#TEMP1

Present   previous
59           88
75           75
45           45
77           88
09           08

#temp2

Difference
 29
 0
 0
 11 
 -1
Run Code Online (Sandbox Code Playgroud)

这可能吗 ??

t-sql sql-server temp-tables addition sql-server-2008-r2

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

需要帮助在python中添加二进制数

如果我有二进制形式的2个数字作为字符串,并且我想添加它们,我将从最右端开始逐位数字.所以001 + 010 = 011但是假设我必须做001 + 001,我应该如何创建一个代码来弄清楚如何进行转移响应?

python binary addition

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

签名饱和添加64位整数?

我正在寻找一些用于签名饱和64位加法的C代码,它使用gcc优化器编译为高效的X86-64代码.便携式代码是理想的,尽管如果需要可以使用asm解决方案.

static const int64 kint64max = 0x7fffffffffffffffll;
static const int64 kint64min = 0x8000000000000000ll;

int64 signed_saturated_add(int64 x, int64 y) {
  bool x_is_negative = (x & kint64min) != 0;
  bool y_is_negative = (y & kint64min) != 0;
  int64 sum = x+y;
  bool sum_is_negative = (sum & kint64min) != 0;
  if (x_is_negative != y_is_negative) return sum;  // can't overflow
  if (x_is_negative && !sum_is_negative) return kint64min;
  if (!x_is_negative && sum_is_negative) return kint64max;
  return sum;
}
Run Code Online (Sandbox Code Playgroud)

写入的函数产生具有多个分支的相当长的汇编输出.有关优化的提示吗?看起来它应该只用一个带有一些CMOV指令的ADD来实现,但我对这些东西有点生疏.

c optimization x86-64 addition saturation-arithmetic

11
推荐指数
4
解决办法
1919
查看次数

为什么添加两个字符串文字不使用operator +(const string&,const string&)?

编辑:我重新格式化了帖子以便更清楚.

为什么这样做:

struct A {};

struct B {
    B(A){}
};

void operator+(const B&, const B&) {}

int main()
{
    A a1, a2;
    a1 + a2;
}
Run Code Online (Sandbox Code Playgroud)

这不是吗?

struct B {
    B(const char*){}
};

void operator+(const B&, const B&) {} //error: invalid operands of types 'const char [6]' and 'const char [6]' to binary 'operator+'|

int main()
{
    "Hello" + "world";
}
Run Code Online (Sandbox Code Playgroud)

本质上,在第一个示例中a1,a2它们都B通过隐式转换转换为对象并使用operator+(const B&, const B&)添加.

从这个例子开始,我希望"Hello"并再次通过隐式构造函数"world"转换为B对象,并使用 …

c++ string literals addition

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

仅使用递增,循环,赋值,零的减法运算

我正在尝试使用以下方法建立减法,加法,除法,乘法和其他操作:

  1. incr(x) - 一旦调用此函数,它将x + 1分配给x
  2. assign(x,y) - 此函数将y的值赋给x(x = y)
  3. 零(x) - 此函数将0分配给x(x = 0)
  4. 循环X {} - 括号内的操作将执行X次

使用以下规则,可以直接实现这样的添加(添加):

ADD (x, y) {
 loop X {
   y = incr (y)
 }
return y
}
Run Code Online (Sandbox Code Playgroud)

但是,我正在努力实现减法.我认为所有其他所需的操作都可以使用减法完成.

任何提示都将非常感激.

math logic lambda-calculus subtraction addition

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

使用乘法实现加法

我已经熟悉使用加法或使用乘法求幂来实现乘法的着名问题,使用循环或位移算法并添加移位位组合.

现在,我想知道是否有任何方法只使用更高级别的操作来实现加法,例如具体的乘法,或取幂,对数等(减去减法)

这可以通过组合这些操作的某种算法(以及可能的按位运算符作为助手)来实现,或者是作为公理的基本操作的附加,因此除了其定义之外,它不能以其他方式再现?

谢谢.

algorithm math multiplication addition exponentiation

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

Java +运算符

我无法理解添加运算符或short数据类型的想法.

据说;

short a = 1;
short b = 2;
short c = a + b;
Run Code Online (Sandbox Code Playgroud)

这将不能编译,因为除了运营商总是投short,chart,byte数据类型,以int我理解这一点.但是这个;

short c = 1 + 2;
Run Code Online (Sandbox Code Playgroud)

工作得很好.因此,如果添加运算符自动转换shortint然后应用结果(其中结果将是一个int),为什么这样可以正常工作?

编辑:这个问题与原始类型'short'不重复- 在Java中进行转换,因为我理解转换过程.此外,该问题讨论了数据类型的转换,其中我的问题与int文字有关.

java addition

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

添加与ORing性能

我看到人们使用加法,其中按位OR在概念上更合适,因为他们认为它更快.这是真的?如果是的话,所有现代编译器都知道这个技巧吗?

c bit-manipulation addition compiler-optimization

9
推荐指数
2
解决办法
1844
查看次数

无法添加IntPtr和Int

我在C#Visual Studio 2010中有这些行:

IntPtr a = new IntPtr(10);
IntPtr b = a + 10;
Run Code Online (Sandbox Code Playgroud)

它说:

运算符'+'不能应用于'System.IntPtr'和'int'类型的操作数.

MSDN说这个操作应该有效.

c# int addition intptr

9
推荐指数
1
解决办法
4101
查看次数

Java元素和2个数组

鉴于我在Java中有两个数组,A并且B我想要按元素添加元素,这会产生一个sum数组.使用循环隐式执行此操作很容易,但我想知道是否有更优雅的解决方案,可能使用guava集合或构建java utils.或者也许是一种python-ish方式,通过列表推导很容易.

例:

A   = [2,6,1,4]
B   = [2,1,4,4]
sum = [4,7,5,8]
Run Code Online (Sandbox Code Playgroud)

java arrays elements addition

9
推荐指数
1
解决办法
6389
查看次数