84669 person learning
152542 person learning
20005 person learning
5487 person learning
7821 person learning
359900 person learning
3350 person learning
180660 person learning
48569 person learning
18603 person learning
40936 person learning
1549 person learning
1183 person learning
32909 person learning
例如 计算 2*3 计算机会先转成二进制进行计算,如果是不同的编码形式,是不是对应着不同的二进制
闭关修行中......
是的,不同的编码会有不同的记录数据的方法,当然他们也会有相似相同的地方。编码主要针对的是字符串,在数字存储是也有大小端序之分,都是不同的二进制数据记录规则的体现。
题主有几个基础概念先得弄清楚。
首先你说的应该是在源代码中的“2*3”,源代码文件的字符编码可以是不同的,它们的二进制表示也不同。然后你提到了“计算”,那肯定得先经过编译生成目标代码才能被执行(无论是解释执行还是cpu指令执行),假如你是生成的机器代码,那么在同一台机器上,数字存储的格式是一样的。假如是生成的某个虚拟机的字节码,那么数字格式和字节码的编码一样。
你先得搞清楚数据的类型。你计算2*3是两个整数计算,也就是10*11(二进制),并没有编码之分,你放到不同的架构上只是表示整数的长度不同而已。
你说的编码是针对字符的,比如2和3的ASCII就分别是0110010和0110011,这并不是用来计算的。
是的,随便用什么编码,随便怎么存储。但是必须保证计算结果相同。
是的,不同的编码会有不同的记录数据的方法,当然他们也会有相似相同的地方。
编码主要针对的是字符串,在数字存储是也有大小端序之分,都是不同的二进制数据记录规则的体现。
题主有几个基础概念先得弄清楚。
首先你说的应该是在源代码中的“2*3”,源代码文件的字符编码可以是不同的,它们的二进制表示也不同。然后你提到了“计算”,那肯定得先经过编译生成目标代码才能被执行(无论是解释执行还是cpu指令执行),假如你是生成的机器代码,那么在同一台机器上,数字存储的格式是一样的。假如是生成的某个虚拟机的字节码,那么数字格式和字节码的编码一样。
你先得搞清楚数据的类型。你计算2*3是两个整数计算,也就是10*11(二进制),并没有编码之分,你放到不同的架构上只是表示整数的长度不同而已。
你说的编码是针对字符的,比如2和3的ASCII就分别是0110010和0110011,这并不是用来计算的。
是的,随便用什么编码,随便怎么存储。
但是必须保证计算结果相同。