标签: bigint

C++ 128/256位固定大小的整数类型

我想知道是否有任何人可以推荐一个好的轻量级固定大小整数类型(128位甚至256位,甚至可能是模板参数化)库.

我已经看过GMP和co了,他们关心的很好,但是对于我的目的来说有点太大了,我现在对简单的标题解决方案感兴趣.性能很重要,目标架构将是x86和x86-64,也是一个合理的许可证(也就是GPL或LGPL).

c++ types bigint

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

在Go中将bigint转换为字符串

如何在Golang中将big int转换为字符串(或整数)?

bigint := big.NewInt(123) //This is what I have
bigstr = "123" //This is what I want
Run Code Online (Sandbox Code Playgroud)

string int go bigint

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

如果您在Chrome的控制台中尝试9n**9n**9n,则Chrome会中断(它类似于无限循环).为什么会这样?

如果您9n**9n**9n在Chrome的控制台中尝试,Chrome会中断(它类似于无限循环).

  • V8发动机是否缺乏这种情况的实施?

我的意思是,如果你尝试9**9**9它会返回Infinity,这是一种很好的.

  • 为什么V8 Infinity在前一种情况下不会返回?
  • 为什么它似乎进入无限循环?

我也在Firefox中试过这个,这个问题不存在,因为目前SpiderMonkey中没有BigInt实现.

谢谢!

javascript google-chrome v8 spidermonkey bigint

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

如何将两个原生 JavaScript BigInt 相除并得到十进制结果

这是我迄今为止尝试过的。我想得到一个12.34

BigInt('12340000000000000000') / BigInt('1000000000000000000')

12n

Number(BigInt('12340000000000000000') / BigInt('1000000000000000000'))

12

FWIW,当我使用 JSBI 库时,它的工作方式是我想要的:

JSBI.BigInt('12340000000000000000') / JSBI.BigInt('1000000000000000000');

12.34

这在本地是不可能的吗?

javascript biginteger bigint

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

JavaScript 中数字文字后的字符“n”是什么意思?

我见过

const num = 123456789000000000000n;

并且不知道数字文字末尾的 n 是做什么的?

在撰写本文时,在网上搜索“JavaScript 中数字文字后面的字符 'n' 是什么意思”时,没有任何结果。

javascript literals bigint

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

Java/Scala BigInteger Pasting

我有一个Java BigInteger类的问题:我无法将大值粘贴到BigInteger中.例如,假设我想为此数字指定一个BigInteger:

26525285981219105863630848482795

我无法直接分配它,因为编译器认为它是一个整数:

val bi = 26525285981219105863630848482795 //compile error
Run Code Online (Sandbox Code Playgroud)

但我希望它是一个BigInteger.有没有办法可以直接将其粘贴到源代码中?如果没有这种方式,那么在Scala中是否有一种方法,它有一个更容易使用的BigInt类?谢谢您的帮助.

java scala biginteger bigint

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

SQL bigint哈希匹配c#int64哈希

我正在尝试创建一个通用散列alogrithim,它将字符串散列为64位int.

我能够正确地散列字符串:sql:

select  
    convert
    (
        varchar(64),
        HASHBYTES
        (
            'SHA1',
            'google.com'
        ),
        2
    )
Run Code Online (Sandbox Code Playgroud)

回报 BAEA954B95731C68AE6E45BD1E252EB4560CDC45

C#

    System.Security.Cryptography.SHA1 c = System.Security.Cryptography.SHA1.Create();
    System.Text.StringBuilder sb = new StringBuilder();
    byte[] b = c.ComputeHash(Encoding.UTF8.GetBytes("google.com"));
    for (int i = 0; i < b.Length;i++ )
    {
        byte by = b[i];
        sb.Append(by.ToString("x2").ToUpper());
    }

    return sb.ToString();
Run Code Online (Sandbox Code Playgroud)

retruns BAEA954B95731C68AE6E45BD1E252EB4560CDC45

但是,当我转换为bigint/long时,值不匹配:sql:

select  
    convert
    (
        bigint,
        HASHBYTES
        (
            'SHA1',
            'google.com'
        )
    )
Run Code Online (Sandbox Code Playgroud)

回报 2172193747348806725

C#:

    System.Security.Cryptography.SHA1 c = System.Security.Cryptography.SHA1.Create();
    byte[] b = c.ComputeHash(Encoding.UTF8.GetBytes("google.com"));
    return BitConverter.ToInt64(b, 0);
Run Code Online (Sandbox Code Playgroud)

回报 7501998164347841210

有关如何使这些数字匹配的任何想法?

c# sql-server hash bigint uint64

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

基准:PostgreSQL上的bigint vs int

我想提高我的数据库性能.在项目中,所有表从去intbigint,我认为这是一个不错的选择,不仅对于存储,因为int需要4 bytesbigint要求8 bytes;而且还涉及性能.所以我创建了一个包含1000万个条目的小表,其中包含一个脚本Python:

import uuid

rows=10000000

output='insert_description_bigint.sql'
f = open(output, 'w')

set_schema="SET search_path = norma;\n"
f.write(set_schema)

for i in range(1,rows):
    random_string=uuid.uuid4()
    query="insert into description_bigint (description_id, description) values (%d, '%s'); \n"
    f.write(query % (i,random_string))
Run Code Online (Sandbox Code Playgroud)

这就是我创建two表格的方式:

-- BIGINT

DROP TABLE IF EXISTS description_bigint;

CREATE TABLE description_bigint
(
  description_id BIGINT PRIMARY KEY NOT NULL,
  description VARCHAR(200),
  constraint description_id_positive CHECK (description_id >= 0)
);

select count(1) from …
Run Code Online (Sandbox Code Playgroud)

postgresql int performance bigint sqldatatypes

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

JavaScript 大整数平方根

这涉及 Chrome 和 Node v10.4 支持的新 JavaScript BigInt 类型

以下两行都抛出错误:

Math.sqrt(9n)
Math.sqrt(BigInt(9))
Run Code Online (Sandbox Code Playgroud)

错误是:

无法将 BigInt 值转换为数字

如何在 JavaScript 中获得 BigInt 的平方根?TIA

javascript bigint node.js

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

在MySQL中将二进制字符串转换为bigint?

我试图在MySQL中将字符串哈希到64位值(bigint).我知道MD5()函数,它返回一个128位散列作为二进制字符串.我很乐意把这个结果的底部或前64位.但是,我无法弄清楚如何从二进制字符串类型到任何类型的数字类型.有什么指针吗?

mysql binary hash md5 bigint

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