theman23 2022-12-01 11:52 采纳率: 50%
浏览 45
已结题

c# int类型计算超过最大值,是怎么处理的?

我在程序里运行如下代码


int  a= 255;
//二进制是 1111-1111

a = a * 256; 
//a=65280
//二进制是 1111-1111-0000-0000

a = a * 256;
 //a=16,711,680
//二进制是 1111-1111-0000-0000-0000-0000

a = a * 256; 
//a= -16777216
//二进制是 1111-1111-0000-0000-0000-0000-0000-0000

请问第4步 a的值超过32位之后,C#是如何算出 -16777216 这个值的?

  • 写回答

1条回答 默认 最新

  • ·星辰大海 2022-12-01 15:45
    关注

    用数组存储进行大数存储

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 12月13日
  • 已采纳回答 12月5日
  • 创建了问题 12月1日

悬赏问题

  • ¥15 Opencv(C++)异常
  • ¥15 VScode上配置C语言环境
  • ¥15 汇编语言没有主程序吗?
  • ¥15 这个函数为什么会爆内存
  • ¥15 无法装系统,grub成了顽固拦路虎
  • ¥15 springboot aop 应用启动异常
  • ¥15 matlab有关债券凸性久期的代码
  • ¥15 lvgl v8.2定时器提前到来
  • ¥15 qtcp 发送数据时偶尔会遇到发送数据失败?用的MSVC编译器(标签-qt|关键词-tcp)
  • ¥15 cam_lidar_calibration报错