问题标签 [bigint]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
6664 浏览

mysql - MySQL 非常长的数字数据类型

我应该使用哪种数据类型在 MySQL 数据库中存储像“10196385171799537224”(21 位)这样的数字(ID)?

0 投票
1 回答
273 浏览

c# - 开发 BigInt 类

我已经开始开发一个 BigInt 类,我现在被困住了。问题是当我尝试将两个不同长度的数字相加时,结果不正确。例如,123 + 1 将返回 223。我知道问题出在哪里,但我需要帮助解决它。

不管这个问题,这种类设计模式有效吗?设计这种类有更好的主意吗?

0 投票
3 回答
852 浏览

scala - Scala 中的模式匹配

有人可以解释一下如何在这里进行模式匹配吗?

0 投票
1 回答
2750 浏览

assembly - 在 8086 上将两个 32 位数字相乘得到一个 64 位数字(32x32 => 64 位乘以 16 位乘法)

我如何在汇编中将两个 32 位数字相乘或一个 32 位另一个 16 位相乘,有人知道算法吗?

0 投票
1 回答
5084 浏览

hibernate - Postgres - 如何将 sum(bigint) 类型转换为 bigint?

我有一个 Postgres 8.2 表,其中列定义为bigint数据类型。

当我这样做时sum(column),返回类型是numeric. 我想强制类型转换总和,bigint因为我确定结果不会超过bigint. 我能够使用这样的子查询来实现这一点:

select T.big_col_total::bigint from (select sum(big_col) as big_col_total from big_table) T;

有没有办法在不使用子查询的情况下做到这一点,即,我sum可以以某种方式直接进行类型转换吗?我尝试了几种方法,都导致语法错误。

(背景:我正在从 Hibernate 运行此查询,因此将查询的返回数据类型限制为 BigInteger 对我来说很重要。bigint + bigint = numeric(Java 端的 BigDecimal)

0 投票
1 回答
1969 浏览

mysql - 需要帮助了解 MySQL PACK_KEYS

我正在使用 BIGINT 来保存一个从 1 开始递增的 id 号。在一个表中,这将是主键,当然,它是唯一的;在其他表中,它将是一个外键。我试图弄清楚如果我设置 PACK_KEYS,这个密钥是否会被“打包”,因为会有很多前导零。

我很难理解表创建中 PACK_KEYS 表选项的 MySQL 文档。以下是文档中的相关引用:

在打包二进制数字键时,MySQL 使用前缀压缩:

  • 每个键都需要一个额外的字节来表示前一个键的多少字节与下一个键相同。

  • 指向行的指针以高字节优先顺序存储在键之后,以提高压缩率。

这意味着如果您在两个连续的行上有许多相等的键,那么所有随后的“相同”键通常只占用两个字节(包括指向该行的指针)。将此与以下键采用 storage_size_for_key + pointer_size(指针大小通常为 4)的普通情况进行比较。相反,只有当您有许多相同的数字时,您才能从前缀压缩中获得显着的好处。如果所有键都完全不同,则每个键多使用一个字节,如果该键不是可以具有 NULL 值的键。(在这种情况下,打包的密钥长度存储在用于标记密钥是否为 NULL 的相同字节中。)

他们让我迷失了“在两个连续的行上有许多相等的键,所有后面的“相同”键通常只占用两个字节(包括指向行的指针) ”。有人可以根据我要完成的工作为我解释上述文档吗?例如,对于主键,不会有任何“相等的键”——连续两行、连续三行、100 个不连续的行......或者他们正在驾驶的任何东西。

谢谢!

0 投票
1 回答
3428 浏览

sql-server - 在 sql server 上将日期存储为 BigInt - 这是个好主意吗?

好的,现在让我举个例子

日期 :15.12.2012 00:16:39

现在这将存储为

现在例如,如果我想检索早于 30 分钟(30*60=1800 秒)的行

我可以这样做

那么这将是一种性能方式而不是存储为日期时间吗?

0 投票
3 回答
290 浏览

php - 用 PHP 更新 MySQL 中大于 100 万亿的大量数字是不可靠的

当我像这样在 PHP 中向 MySQL 发送值时:

它适用于较小的数字,但任何 100 万亿或更大的数字都会产生意想不到的结果。有时它会以 100 为增量更新数字,有时根本不会。

一旦数量超过几十亿,准备好的语句也会有不同但不可靠的结果:

0 投票
2 回答
832 浏览

sql-server - 如何将这种日期字符串转换为 sql server 上的大整数?

好的,这就是我将日期保留为字符串的愚蠢方式

现在在一个选择查询中,我想将它们转换为 BigInt 并进行搜索

像下面

我如何在 sql server 上将这种字符串转换为 BigInt ?

编辑 - 为什么这个查询不起作用

错误:列名“myTime”无效。

0 投票
1 回答
620 浏览

mysql - MYSQL将INT字段转为BIGINT,不丢失数据

我目前有一个 mysql 表,它的自动增量列达到了 maxint 标记。

在不丢失数据的情况下将字段类型更改为 Bigint 是否可以保存?

还是我需要使用带有 bigint 字段的重复表,复制所有数据,然后删除原始数据并重命名副本以确保我不会丢失数据?