计算机最基本的工作是处理数据,而数据的最底层表现形式是二进制,并非是我们人类熟悉的十进制。可以这么认为,计算机其实是很“笨的”,它只理解二进制数据。
今天,主要介绍计算机是怎样做加减运算的。你可能会想,加减运算?这么简单的事情,还用介绍?也许还真不是你想的那样。
计算机的运算是由CPU 完成的,而CPU 只会做加法运算,不会做减法运算,那计算机怎样完成减法工作呢?
1,二进制数
我们先来看看二进制数。
二进制数是由0,1 组成的,比如:
十进制的5,用二进制表示是 101。
十进制的7,用二进制表示是 111。
数字由正数和负数组成。为了表示正负数,计算机中就有了有符号数和无符号数之分:
无符号数:英文为 unsigned,只能表示正数。
有符号数:英文为signed,即能表示正数,又能表示负数。
C/C++ 语言中的数字有有符号数和无符号数之分。
Java 语言所有的数字都是有符号数。
假如,我们用 4 位二进制,来表示无符号数,也就是只表示正数,能表示的范围是 0 到 15,转换关系如下表:
十进制数
二进制数
十进制数
二进制数
0
0000
8
1000
1
0001
9
1001
2
0010
10
1010
3
0011
11
1011
4
0100
12
1100
5
0101
13
1101
6
0110
14
1110
7
0111
15
1111
有符号数,即要表示正数,也要表示负数。