标签: base-conversion

在c中的基数10中打印大基数256数组

我有一系列未签名的字符在c我试图在10号基础上打印,我被卡住了.我认为这将在代码中得到更好的解释,因此,给出:

unsigned char n[3];
char[0] = 1;
char[1] = 2;
char[2] = 3;
Run Code Online (Sandbox Code Playgroud)

我想打印197121.

这对于小型256基数阵列来说是微不足道的.一个可以简单地1*256 ^ 0 + 2*256 ^ 1 + 3*256 ^ 2.

但是,如果我的数组大100字节,那么这很快就会成为一个问题.C中没有100字节大的整数类型,这就是我将数字存储在unsigned char数组中的原因.

我怎么能在10号基地有效地打印出这个数字呢?

我有点迷茫.

c base-conversion

8
推荐指数
2
解决办法
4601
查看次数

将大十六进制字符串转换为十进制字

我需要将一个大的(对于内置数据类型来说太大)十六进制字符串转换为带有十进制表示的字符串.例如:

std::string sHex = "07AA17C660F3DD1D2A1B48F1B746C148";
std::string sDec; // should end up with: "10187768649047767717933300899576725832"
Run Code Online (Sandbox Code Playgroud)

我目前正在使用c ++ BigInt类,它提供了一种非常简单的方法来实现这一目标(但仅限GPL):

BigInt::Vin vbiTemp(sHex, 16);
sDec = vbiTemp.toStrDec();
Run Code Online (Sandbox Code Playgroud)

没有第三方算术库,有没有简单的方法来进行这种转换?或者你能推荐一个类似简单的免费(非GPL)替代方案(效率无关紧要)?

c++ base-conversion arbitrary-precision

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

转换数字基数

是否有平台功能可以执行以下操作?

convertBase :: (Num a, Num b) => Int -> Int -> [a] -> [b]
Run Code Online (Sandbox Code Playgroud)

将数字从基数'a'转换为基数'b',其中每个列表项是数字中的数字.例如:

convertBase 2 10 [1,1,0,1] = [1, 3]
Run Code Online (Sandbox Code Playgroud)

我希望这是有道理的,如果我能清除任何事情,请告诉我

haskell base-conversion

8
推荐指数
2
解决办法
7775
查看次数

PHP - 从整数生成8个字符的哈希

有没有办法从1到40000中取任何数字并生成8个字符的哈希?

我正在考虑使用base_convert但无法想出一种强制它成为8字符哈希的方法.

任何帮助,将不胜感激!

php hash base-conversion

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

无限大小的基本转换?

我正在尝试使用整数数组在JavaScript中实现BigInt类型.现在每个都有一个256的上限.我已经完成了所有整数操作,但我无法弄清楚如何将BigInt转换为它的字符串表示.当然,简单的方法是:

BigInt.prototype.toString = function(base) {
    var s = '', total = 0, i, conv = [
        ,,
        '01',
        '012',
        '0123',
        '01234',
        '012345',
        '0123456',
        '01234567',
        '012345678',
        '0123456789',
        ,
        ,
        ,
        ,
        ,
        '0123456789abcdef'
    ];
    base = base || 10;

    for(i = this.bytes.length - 1; i >= 0; i--) {
        total += this.bytes[i] * Math.pow(BigInt.ByteMax, this.bytes.length - 1 - i);
    }

    while(total) {
        s = conv[base].charAt(total % base) + s;
        total = Math.floor(total / base);
    }

    return s || '0';
};
Run Code Online (Sandbox Code Playgroud)

但是当BigInts变 …

javascript base-conversion biginteger

7
推荐指数
1
解决办法
868
查看次数

在Objective-C中将八进制字符串转换为十进制?

我试图在Objective-C中进行Binary,Octal,Decimal和Hexadecimal之间的转换.我在将Octal转换为Decimal时遇到了问题.

我尝试过以下方法:

NSString *decString = [NSString stringWithFormat:@"%d", 077];
Run Code Online (Sandbox Code Playgroud)

它运行正常,按预期返回63,但我的Octal值是NSString.我怎么能告诉电脑它是八进制的呢?

我知道有一个名为"scanHexInt:"的方法,我用它将十六进制转换为十进制,但似乎没有scanOctInt ......

任何帮助,将不胜感激!

cocoa-touch base-conversion objective-c ios

6
推荐指数
1
解决办法
2154
查看次数

计算没有循环的给定数字的否定表示

您能否提供令人信服的解释或数学证明,以解释为什么以下函数计算给定数字的否定表示?

function quickNegabinary(number) {
  var mask = 0xAAAAAAAA;
  return ((number + mask) ^ mask).toString(2);
}
Run Code Online (Sandbox Code Playgroud)

language-agnostic algorithm binary bit-manipulation base-conversion

6
推荐指数
1
解决办法
1914
查看次数

使用Java的Integer.toString()以26为基数

因此,我刚刚学习Integer.toString(int x, int radix);并认为它非常棒,因为它使基本转换变得非常容易。

但是,我试图用音标(a-z)来写Base-26,并注意到它Integer.toString()遵循十六进制的示例,因为它从数字开始,然后使用字母(0-p)。

我已经知道如何手动转换为Base-26,我不需要该代码。但是我想知道是否有一种方法可以利用Integer.toString()它,因为它几乎已经完成了所有繁重的工作。

有任何想法吗?

java base-conversion tostring

6
推荐指数
1
解决办法
1559
查看次数

将74位整数转换为基数31

要生成UFI编号,我使用bitset大小为74.要执行UFI生成的第2步,我需要转换此数字:

9 444 732 987 799 592 368 290
(10000000000000000000000000000101000001000001010000011101011111100010100010)
Run Code Online (Sandbox Code Playgroud)

成:

DFSTTM62QN6DTV1
Run Code Online (Sandbox Code Playgroud)

通过将第一个表示转换为基数31并从表中获取等效的字符.

#define PAYLOAD_SIZE 74
// payload = binary of 9444732987799592368290
std::bitset<PAYLOAD_SIZE> bs_payload(payload);
/*
perform modulo 31 to obtain:
12(D), 14(F), 24(S), 25(T), 25, 19, 6, 2, 22, 20, 6, 12, 25, 27, 1
*/    
Run Code Online (Sandbox Code Playgroud)

有没有办法在不使用外部BigInteger库的情况下对我的bitset执行转换?

编辑:BigInteger即使是干杯和赫斯,我终于完成了一堂课.- 阿尔夫的解决方案就像一个魅力

c++ base-conversion bigint c++11 std-bitset

6
推荐指数
1
解决办法
578
查看次数

base_convert和负数

base_convert()函数似乎没有保留符号。

例如:

var_dump (base_convert ('-100', 10, 10));
Run Code Online (Sandbox Code Playgroud)

此输出为100

有没有一种转换基数而不丢失符号的方法?

php base-conversion

5
推荐指数
1
解决办法
688
查看次数