strtoll函数怎样处理不同进制数

1949idc 2年前 (2024-09-18) 阅读数 478 #编程语言

strtoll 函数是一个 C 语言库函数,用于将字符串转换为长整型(long long)数值

#include <stdlib.h>

long long strtoll(const char *nptr, char **endptr, int base);

参数说明:

  • nptr:指向要转换的字符串的指针。
  • endptr:如果不为 NULL,则在转换完成后,将指向字符串中未被转换的第一个字符的指针存储在 endptr 指向的位置。
  • base:表示要解析的数字的基数。它必须介于 2 到 36(包含)之间,或者为 0。当 base 为 0 时,函数会根据字符串的前缀来确定基数:如果字符串以 “0x” 或 “0X” 开头,则基数为 16;如果字符串以 “0” 开头,则基数为 8;否则,基数为 10。

strtoll 函数会根据给定的 base 参数来处理不同进制的数。例如:

#include<stdio.h>
#include <stdlib.h>

int main() {
    const char *number_str = "1010";
    char *endptr;
    int base = 2; // 二进制

    long long number = strtoll(number_str, &endptr, base);

    printf("The decimal value of the binary number %s is: %lld\n", number_str, number);

    return 0;
}

在这个示例中,我们将二进制数 “1010”(十进制的 10)转换为长整型数值。通过设置 base 参数为 2,strtoll 函数会正确地解析二进制数。

版权声明

本文内容由互联网用户自发贡献,该文观点仅代表作者本人
本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。

© 2010 首途云安 & 厦门硕顿信息技术有限公司 & 闽ICP备11016866号  增值电信业务经营许可证:B1-20203020 地址:福建厦门思明区嘉禾路297号1806
高新技术企业
软件产品证书
计算机软件著作权
ISO认证
国家3A企业