一只高傲的鹤 2021-12-22 02:05 采纳率: 66.7%
浏览 73
已结题

整型数据 long long int ,unsigned int 输出异常,求解!

我对比了一下int,long,long long,unsigned 这个四种整型数据的不同的输出情况,有一下几个疑问:

  1. unsigned int d1 = pow(2,32) 计算结果为 - 1。个人思考是:数据溢出,因为int只有最多能表达的数是4294967295,2的32次方大于4294967295所以直接取值4294967295,输出的是%d为有符号整型,故值为 - 1.
  2. long long int 中 c1,c5,c6 的值,%ld 输出为什么是 0 和 - 1?long long 型字节数为8,即有64为存储空间,但是输出的数据却不大于2的32次方?实际上该如何输出?

以下为代码(新手上路,请海涵!使用编译器code blocks):

#include <stdio.h>

int main()

{
    int a1, a2, a3, a4,a5,a6;
    a1 = pow(2,32);
    a2 = pow(2,32) - 2;
    a3 = pow(2,31);
    a4 = pow(2,31) - 2;

    long int b1, b2, b3, b4;
    b1 = pow(2,32);
    b2 = pow(2,32) - 2;
    b3 = pow(2,31);
    b4 = pow(2,31) - 2;

    long long int c1, c2, c3, c4, c5, c6;
    c1 = pow(2,32);
    c2 = pow(2,32) - 2;
    c3 = pow(2,31);
    c4 = pow(2,31) - 2;
    c5 = pow(2,43);
    c6 = pow(2,43)-1;

    unsigned int d1, d2, d3, d4;
    d1 = pow(2,32);
    d2 = pow(2,32) - 2;
    d3 = pow(2,31);
    d4 = pow(2,31) - 2;

    printf("  a1 = %d\n, a2 = %d\n, a3 = %d\n, a4 = %d\n",a1, a2, a3, a4);
    printf("\n  b1 = %d\n, b2 = %d\n, b3 = %d\n, b4 = %d\n",b1, b2, b3, b4);
    printf("\n  c1 = %d\n, c2 = %d\n, c3 = %d\n, c4 = %d\n, c5 = %d\n, c6 = %d\n",c1, c2, c3, c4, c5, c6);
    printf("\n  d1 = %d\n, d2 = %d\n, d3 = %d\n, d4 = %d\n",d1, d2, d3, d4);

    printf("\n  uc1 = %u\n, uc2 = %u\n, uc3 = %u\n, uc4 = %u\n, uc5 = %u\n",c1, c2, c3, c4, c5);
    printf("\n  ud1 = %u\n, ud2 = %u\n, ud3 = %u\n, ud4 = %u\n",d1, d2, d3, d4);

    printf("\n  ld1 = %ld\n, ld2 = %ld\n, lc1 = %ld\n, lc2 = %ld\n, lc5 = %ld\n, lc6 = %ld\n",d1, d2, c1, c2, c5);

    return 0;

}


以下为输出结果:

img

  • 写回答

1条回答 默认 最新

报告相同问题?

问题事件

  • 系统已结题 12月31日
  • 已采纳回答 12月23日
  • 修改了问题 12月22日
  • 创建了问题 12月22日

悬赏问题

  • ¥20 西南科技大学数字信号处理
  • ¥15 有两个非常“自以为是”烦人的问题急期待大家解决!
  • ¥30 STM32 INMP441无法读取数据
  • ¥15 R语言绘制密度图,一个密度曲线内fill不同颜色如何实现
  • ¥100 求汇川机器人IRCB300控制器和示教器同版本升级固件文件升级包
  • ¥15 用visualstudio2022创建vue项目后无法启动
  • ¥15 x趋于0时tanx-sinx极限可以拆开算吗
  • ¥15 pyqt信号槽连接写法
  • ¥500 把面具戴到人脸上,请大家贡献智慧,别用大模型回答,大模型的答案没啥用
  • ¥15 任意一个散点图自己下载其js脚本文件并做成独立的案例页面,不要作在线的,要离线状态。