奇思妙想 · 2024年 3月 26日 0

int类型的长度为什么不统一?

47 次浏览

以C语言为例,它为了支持不同硬件平台,在计算机早期,硬件资源包括内存资源非常紧张,C语言标准不能直接规定int类型就是16位或者32位,这样会造成其它平台不能运行。故,标准做了取舍,不规定int类型的确切长度,但规定了与它相关的整型类型长度的大小关系,以此既支持不同平台,又避免不同平台带来类型长度出现long比int还小的混乱。但,不得不说,在不同平台、不同编译器下,C语言类型长度产生的问题一直存在。

  • Swift/Go/Rust都有通用整型和确定长度的整型两种,据情况选择。
  • 仓颉明确区分出Int32和Int64类型。