请人解释一下二进制表示A的时候是01000000而如果用byte表示一个整数65时也是01000000,那计算机是怎么区分的啊

时间:2021-12-08 20:58:59
请人解释一下二进制表示请人解释一下二进制表示A的时候是01000000而如果用byte表示一个整数65时也是01000000,那计算机是怎么区分的啊

5 个解决方案

#1


A的ASC码是65 ,A跟65计算机都不认识,数据在计算机中都必须以二进制形式表示。一串二进制数既可表示数量值,也可表示一个字符、汉字或其他。一串二进制数代表的数据不同,含义也不同。如果你要研究它究竟怎么区分我就不知道怎么跟你解释了,我觉得百度一下更有用!

#2


如果你把字符'A'作为一个int类型的数输出的话,就是65
这是代码,自己试试:public class Test {

/**
 * @param args
 */
public static void main(String[] args) {
// TODO Auto-generated method stub
int a = 'A';
System.out.println(a);
}

}

#3


那么整数64也是用01000000表示的,字符'A'的ASCII码也是01000000,计算机内部怎么区分

#4


引用曾经看到的一句话“在牛逼的计算机也只认识二进制”
不管64也好'A'也好,看我们对它进行怎样的运算,所以我认为计算机内部是不区分的,只不过我们对它的处理不同,自然显示的数据特征就不同。。。。

#5


其实char与int在有效数据范围内是通用的,然后计算机区分的话靠的是变量所占的内存的大小。int型理论上至少占2个字节,编译器一般会为int分配4个字节的空间,当然不同的编译器会有差别;而char型只占1个字节。

#1


A的ASC码是65 ,A跟65计算机都不认识,数据在计算机中都必须以二进制形式表示。一串二进制数既可表示数量值,也可表示一个字符、汉字或其他。一串二进制数代表的数据不同,含义也不同。如果你要研究它究竟怎么区分我就不知道怎么跟你解释了,我觉得百度一下更有用!

#2


如果你把字符'A'作为一个int类型的数输出的话,就是65
这是代码,自己试试:public class Test {

/**
 * @param args
 */
public static void main(String[] args) {
// TODO Auto-generated method stub
int a = 'A';
System.out.println(a);
}

}

#3


那么整数64也是用01000000表示的,字符'A'的ASCII码也是01000000,计算机内部怎么区分

#4


引用曾经看到的一句话“在牛逼的计算机也只认识二进制”
不管64也好'A'也好,看我们对它进行怎样的运算,所以我认为计算机内部是不区分的,只不过我们对它的处理不同,自然显示的数据特征就不同。。。。

#5


其实char与int在有效数据范围内是通用的,然后计算机区分的话靠的是变量所占的内存的大小。int型理论上至少占2个字节,编译器一般会为int分配4个字节的空间,当然不同的编译器会有差别;而char型只占1个字节。