欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

计算机数字的计算都是二进制的,但是不同的编码是否是否会生成不同的二进制

程序员文章站 2022-05-22 13:57:39
...
例如 计算 2*3 计算机会先转成二进制进行计算,如果是不同的编码形式,是不是对应着不同的二进制

回复内容:

例如 计算 2*3 计算机会先转成二进制进行计算,如果是不同的编码形式,是不是对应着不同的二进制

是的,不同的编码会有不同的记录数据的方法,当然他们也会有相似相同的地方。
编码主要针对的是字符串,在数字存储是也有大小端序之分,都是不同的二进制数据记录规则的体现。

题主有几个基础概念先得弄清楚。

首先你说的应该是在源代码中的“2*3”,源代码文件的字符编码可以是不同的,它们的二进制表示也不同。然后你提到了“计算”,那肯定得先经过编译生成目标代码才能被执行(无论是解释执行还是cpu指令执行),假如你是生成的机器代码,那么在同一台机器上,数字存储的格式是一样的。假如是生成的某个虚拟机的字节码,那么数字格式和字节码的编码一样。

你先得搞清楚数据的类型。你计算2*3是两个整数计算,也就是10*11(二进制),并没有编码之分,你放到不同的架构上只是表示整数的长度不同而已。

你说的编码是针对字符的,比如2和3的ASCII就分别是0110010和0110011,这并不是用来计算的。

是的,随便用什么编码,随便怎么存储。
但是必须保证计算结果相同。

相关标签: php golang