C语言中字符采用ASCII码值存储不会和数值型数据冲突吗?
比如charb="a";intc=97;字符"a"的ASCII码为97,那在计算机里b和c的值成了一样的?...
比如
char b="a";
int c=97;
字符"a"的ASCII码为97,那在计算机里b和c的值成了一样的? 展开
char b="a";
int c=97;
字符"a"的ASCII码为97,那在计算机里b和c的值成了一样的? 展开
2个回答
展开全部
就你的程序来讲,b,c是完全一模一样的!!!
注意你要写成
char b='a';//这里应该用单引号,因为b是字符型
计算机里用来存储数据所用的方式就是二进制码,而类型这东西其实只是对于程序来讲的,不是对电脑来讲的。
比如97在电脑里就是1100001,电脑通过运算器认为它是97这个数,而你通过ASCII码对照表认为它是'a',那我也可以通过我自己的表当它是'b',甚至只需要写一个小小的汇编程序就能在内存层次将其转换。只不过ASCII被人们通用,造成了你认识上的假相。
再比方说有一个四字节的数据,你可以当作是一个长整型,也可以当作两个短整型。当你掌握读取内存的方法(指针)时,你就会意识到,所有变量都是一样的……
注意你要写成
char b='a';//这里应该用单引号,因为b是字符型
计算机里用来存储数据所用的方式就是二进制码,而类型这东西其实只是对于程序来讲的,不是对电脑来讲的。
比如97在电脑里就是1100001,电脑通过运算器认为它是97这个数,而你通过ASCII码对照表认为它是'a',那我也可以通过我自己的表当它是'b',甚至只需要写一个小小的汇编程序就能在内存层次将其转换。只不过ASCII被人们通用,造成了你认识上的假相。
再比方说有一个四字节的数据,你可以当作是一个长整型,也可以当作两个短整型。当你掌握读取内存的方法(指针)时,你就会意识到,所有变量都是一样的……
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询