第一次写博客,先从简单开始记录。
我们都知道,编程中,数据类型分为有符号数和无符号数,即我们通常说的正数和负数。现以unsigned char和signed char类型的数为例,来说明有符号数与无符号数在计算机中的存储问题。
计算机中的一个unsigned char型数据表示0~255,而一个signed char型数据表示-128~+127,都是256的数字。这256个数字,在计算机的存储单元都是由0x00~0xFF表示的。
这256个数字相同的部分是0~+127,都用0x00~0x7F表示存储。
而0x80~0xFF即可以表示+128~+255,也可以表示-128~ -1。当为unsigned char 时,0x80表示为+128~+255;当为signed char时则表示为-128~ -1。
其他数据类型与此类似。
此外,计算机中负数以二进制补码表示,补位 = 二进制数的反码+1。