你是否细心观察到计算机所能表示的数字存在范围,那么计算机表示数字的范围是如何产生的呢?

我们定义一个int型的变量,已知他在存储中占用32位且数字在计算机中采用二进制的方式存储,那就不难理解32位二进制必然存在表示的范围。而int又分为无符号和有符号两种,他们的区别在于有符号要用首位去存储正负(0表示正数,1表示负数),那有符号整型最大就是0111 1111 1111 1111 1111 1111 1111 1111即2的三十次方减一了。

话不多说,呈代码:

#include

#include

int sq(int x) {

return x*x;

}int main(int argc, char *argv[]) {

int i;

for (i = 1; i < argc; i++) {

int x = atoi(argv[i]);

int sx = sq(x);

printf("sq(%d) = %d\n", x, sx);

}

return 0;

}

那么在下面的案例中,我们观察到当执行到65535的平方时,结果就有点不正常了,正数和正数相乘却产生了负数,这就是正溢出。在计算机中,乘法是通过移位和加法来实现的,而65535的二进制为1111 1111 1111 1111,算完后只保留后32位,这就是65535平方的机器码了。除此之外还有负溢出等。

所以说,写代码需谨慎。

在Linux上部分案例的运行结果如下:

转载自原文链接, 如需删除请联系管理员。

分享到:

溢出英语计算机,查看溢出(简述计算机溢出原理)相关推荐

  1. 计算机二进制编码优点,简述计算机内以二进制编码的优点

    满意答案 wodetiane 2013.06.12 采纳率:53%    等级:11 已帮助:14226人 计算机要表示大量不同的信息,所以它也需要编码.它是一种对用数据表示的各种信息进行处理的机器. ...

  2. linux查看was jvm内存溢出,was manage内存溢出

    异常内存溢出有个复杂的说明,为此学习啦小编为大家整理推荐了以下内容,希望大家喜欢. was manage内存溢出 WAS 内存溢出(OutofMemory)问题分析常用方法 简述 OOM(内存溢出): ...

  3. 英语简述计算机的发展史,计算机的发展历史-简述计算机的发展史

    计算机的发展经历了哪几个阶段?各阶段的主要特征是什么? 一共有四个发展阶段: 第一个发展阶段是电子 管计算机的时代,在年到年.年第一台电子计算机问世美国宾西法尼亚大学,它由冯·诺依曼设计的.占地平方, ...

  4. 计算机发展历史简述及CPU构成及工作过程——Crash Course内容整理

    文章目录 0. 写在前面 1. 计算设备发展简史 1.1 计算设备早期 1.2 机械式计算设备 步进计算机 差分机和分析机 1.3 机电式计算设备 机电式穿孔制表机 Harvard Mark I 1. ...

  5. matlab溢出的标志inf,关于C#:溢出与信息

    当我在Matlab中输入一个大于max double的数字时,例如10^309,它的值大约为1.79769e+308,则返回Inf. 出于教育目的,我想获取像C编译器这样的溢出异常,该异常返回一个溢出 ...

  6. 计算机动画的主要应用领域,简述计算机的主要特点和主要应用领域

    1."简述计算机的主要特点和主要应用领域 特点: 运算速度快 计算精度高 具有记忆能力 具有逻辑判断能力 在程序控制下自动工作 " 2."应用领域 科学计算 信息处理和管 ...

  7. 计算机专业简述,简述计算机专业毕业论文完整版.doc

    简述计算机专业毕业论文完整版.doc 简述计算机专业毕业论文完整版 简述计算机专业毕业论文完整版 导读:计算机专业毕业论文完整版摘要 随着信息技术的高速发展,21世纪是数字信息时代,互联X正以前所未有 ...

  8. 计算机专业设计(论文)内容及要求,简述计算机专业毕业论文的撰写要求

    简述计算机专业毕业论文的撰写要求 相关内容: 1 概述(ad hoc 网络简介;地址自动配置需要解决的问题)2 现有的地址自动配置方法(现有方法分类;特点;优缺点)3 蚁群算法(理论基础;应用到地址自 ...

  9. 广东取消英语和计算机考试,广东紧急停考通知!全国英语等级考试、全国计算机等级考试停考...

    原标题:广东紧急停考通知!全国英语等级考试.全国计算机等级考试停考 南都讯 记者贺蓓 停考!广东省教育厅发布紧急通知.我省9月16日-17日的全国计算机等级考试.全国英语等级考试停考.补考时间将于近期 ...

  10. 简述计算机软件故障排查,主板故障检查维修的常用方法哪些如何排查主板故障...

    主板故障检查维修的常用方法哪些如何排查主板故障 那得看主板的故障是什么~原因有很多,比如机器的板才不好,时间长会让主板变型~电源的质量不好,会烧坏主板,也有主板自身出现问题的,总之原因很多. 检查的方 ...

最新文章

  1. python ffmpeg pyav
  2. C# 全选中数字文本框内容
  3. 【js笔记】数组那些事[0]
  4. 原理图、PCB和实物是如何对应起来的
  5. SpringBoot配置Druid
  6. stanford corenlp的TokensRegex
  7. android画布一闪一闪的,解决Android SurfaceView绘制触摸轨迹闪烁问题的方法
  8. 手把手教你架构3d游戏引擎pdf_白鹭引擎团队即将发布 Egret Pro,并公布后续路线图...
  9. lede 内核 单 编_终于搞定,在lede官方源码编译k3固件的方法。求助变分享
  10. Python 音频: 使用 sounddevice 调用 ASIO 声卡驱动
  11. 如何提高Solidworks运行速度
  12. 程学旗 计算机,专家人才库数据----中国科学院计算技术研究所
  13. linux上如何把2个或者多个显示器合并为一个显示器
  14. Windows下WordPress安装教程(全)
  15. router禁用443端口
  16. mysql 中类似dateadd_MySQL查询中的DATEADD或DATE_ADD?
  17. Flutter 利用 Hero 动效实现列表详情页的无缝切换
  18. 通过ASP.NET Ajax技术模拟实现NBA比赛文字直播功能
  19. E420笔记本升级固态硬盘
  20. ts 打开sourcemap_使用ts-node和vsc来调试TypeScript代码

热门文章

  1. 【打卡】汽车领域多语种迁移学习挑战赛
  2. ubuntu20.04 安装ROS2和ROS1共存
  3. 【文本编辑】PPT文档被设置密码允许只读模式【解除限制】
  4. [conda报错 已解决]An unexpected error has occurred. Conda has prepared the above report.
  5. C语言实验——逆置正整数
  6. 手写操作系统(2)——代码是怎么运行的?
  7. oracle 按照中文姓首字母排序,按照偏旁部首,笔画排序 sql
  8. HBase流程框架图
  9. 想成为游戏原画师需要哪些系统的学习?
  10. [CTF]天下武功唯快不破