整数在计算中的存储和运算
来源:互联网 发布:修车软件哪个好 编辑:程序博客网 时间:2024/04/30 17:51
整数的第一位表示符号位。
1 正整数
正整数在计算机中直接用它的二进制存储,例如:
short s = 3;3 = 2^1 + 2^0
短整型一般为2个字节,即16位,它的对应的存储方式为:
0 000 0011
所以,短整型的表示范围为:-2^15 ~ +2^15
0是个特例,它有两种表示方式:
1 000 0000
0 000 0000
所以,短整型一共只有2^16 - 1 个数。
再看整型,整型的存储为4个字节,32位
int i = 7;7 = 2^2 + 2^1 + 2^0
即:
0 000 0000 0000 0111
为了表述简单,以下统一用short型。
2 负整数
在说负数之前先说两个概念:
原码:符号位加二进制;
反码:正数为本身,负数符号位加二进制取反(即0变为1,1变为0);
补码:正数为本身,负数未取反加一;
例如:
原码:
10 = 2^3 + 2^1:0 000 1100
-10:1 000 1100
反码:
10 :0 000 1100
-10:1 111 0011
补码:
10:0 000 1100
-10:1 111 0100
计算机中,数据统一用补码的方式来存储和表示。
例如:-5
原码:1 000 1001
反码:1 111 0110
补码:1 111 0111
它的存储方式即:1 111 0111
例如:0
0有两种表示方法,即+0和-0;
原码:
1 000 0000
0 000 0000
反码:
1 000 0000
0 111 1111
补码:
1 000 0000
1 000 0000
所以0在计算中的表示方法也是唯一的,+0和-0最终都是1 000 0000
3 整数之间的运算
实际上计算机只会做一种运算:加法运算
减法:加法,加上一个负数
乘法:加法,重复做加法
除法:减法,重复做减法
所以,我们来研究一下加法运算。计算机中数据的表示和存放方式都是以补码的形式,
计算的时候也是用补码来进行运算,结果也是补码。表示方式中符号位不参与运算,运算中符号位也参入。
首先看正数,例如:1 + 2
1:0 000 0001
2:0 000 0010
--------------------
0 000 0011
结果为:0 000 0011,十进制3
再看正数与负数,也是减法运算,例如:1 - 2 = 1 +(-2)
1: 0 000 0001
-2:1 111 1110
---------------------
1 111 1111
结果为:1 111 1111
负数由补码求原码的方式:减一取反
例如,上述结果:
补码:1 111 1111
反码:1 111 1110
原码:1 000 0001 即 十进制的-1
就到这里吧,接下来会看看浮点数,上班去咯。
#高位的0都去掉
- 整数在计算中的存储和运算
- 大整数存储和运算
- 4、数据在计算机中的存储形式和运算
- 数据在计算机中的存储形式和运算
- 数据在计算机中的存储形式和运算
- 数据在计算机中的存储形式和运算
- 数据在计算机中的存储形式和运算
- 数据在计算机中的存储形式和运算
- 数据在计算机中的存储形式和运算
- 一道面试题引发的问题:浮点数和整数在计算机种的存储方式
- 一道面试题引发的问题:浮点数和整数在计算机种的存储方式
- java 不使用 “+,-,*,/” 运算符计算两个整数的和
- 整数、单精度浮点数和双精度浮点数在计算机中的存储格式
- 浮点数在计算中的存储
- C++中的运算符和计算顺序
- 在linux内核中使用整数运算模拟浮点运算计算三角函数
- 计算机中的数据存储和数据运算
- 计算密集型分布式内存存储和运算平台架构
- Linux I/O Stack 结构图
- 为什么一段时间后网站后台自动退出 php中session过期时间设置
- 关于MFC项目中使用WebBrowser控件禁止脚本错误的方法
- 黄金:被软禁的货币之王
- 趙重峯 七百義士
- 整数在计算中的存储和运算
- 通过IWebBrowser2的Navigate2来打开网页,怎样判断网页是否全部加载完毕
- 黑马--银行业务调度系统
- 绍兴哪里可以报二级建造师以及预算员培训建造师培训
- epoll示例
- 生活需要运气:10招让幸运女神眷顾你!
- CRS USB Mode and Voice Prompts
- C++ 流的使用 Part II - string stream 和 流的格式化输出
- Android实现应用下载并自动安装apk包