只要是存在计算机上的数据都是二进制数据(视频、图片、声音等),8个二进制数(0和1)组成一个字节(即二进制数据的基本单位是8位),由于 int long short char double float和byte(字节)一样都是数据类型,楼主更规范的说法是说各占多少位,位数多所能表现的数据范围就大,楼上已经说过他们各占多少位我就不再一一道来。
还有 int test=‘A’+ 'B' 为什么可以这样表示呀?而char =‘a’+'b'怎么不行啊?:所谓计算机上的数据都是二进制数据,字符也不例外,在计算机内存中,被计算机收录的每个字符都有其对应的值,例如010..001——A,
011..001——B……这就构成了编码表ASCii,而每个字符所对应的值就是所谓的 ASCii值,所以在 int test=‘A’+ 'B'中,由于test是int类型的数据是把A、B当做所对应数值来进行运算的;而char =‘a’+'b'之所以不可以这样运算是因为赋值号左边的变量也是字符类型,而字符与字符不具备运算的规则,但是字符都有相连接的规则,“+”既可以用来数值之间的加法运算,又可以用来连接字符与字符,但是char是单个字符的类型,如果必须要‘a’和'b'相+(连接),则左边的数据类型必须是字符串类型的,即相加后的结果是string类型的“ab”;参考毕老师视频0204到0219进制以及转换!忘采纳 |