int占多少字节是由什么决定的?

发布网友 发布时间:2022-04-24 01:48

我来回答

3个回答

热心网友 时间:2023-10-19 19:38

首先要弄明白的是哪里的 int,因为不同地方出现的 int 可能会表示不同的意思。

对于程序语言中的 int,首先是要通过编译器或者解释器一关,因为编译器是怎么识别和处理 int 的起到了很大影响。像 java 编译器就把 int 在任何平台上都设定为 4 个字节。然而像 c 语言没有对 int 作多少处理(当然同一种语言可能会有不同的编译器,会有一些差异,但是因为都遵循一定的标准,所以差异不会太大,有地方说 turbo C 在 32 位环境下把 int 处理成 16 位(http://hi.baidu.com/donghongchen/blog/item/40a75119ad4ab90a35fa4197.html),我没有验证,不知对否——可能文中提到的版本比较老吧)。

于是接下去经过操作系统,操作系统会有影响。16位和32位的系统处理起来一般都不同,32位和位的系统处理起来可能会不同,注意两者的用词:前者是一般,后者只是可能,因为这取决于操作系统和编译器是怎么设计的——例如在大多数的 位操作系统下,int 仍然是 32 位的。

最后 cpu 当然会有影响。但是只影响操作系统和编译器(汇编可以直接操作寄存器,除外。汇编中其实也没有 int 的关键字,因为你面向的东西不同了),总之,这个 int 多少位已经由编译器和操作系统来控制了。CPU 毕竟会忠实地处理由操作系统地交给它的信息。操作系统因为是平台相关的,所以它会适应不同平台的 cpu,而对 int 之类的数据类型在递交给不同的 cpu 运算之前,就已经做出不同的处理。这就有点像平台无关的 java 虚拟机,实际上底层接口也是平台相关的,只是程序接口是平台无关的而已。

热心网友 时间:2023-10-19 19:38

int 是整型 占2byte(字节), 1byte=8bit(字).这个是规定!
不同的计算机字长不一样,但是同一系列字长是固顶的。
CPU的字长是同一时间可以同时处理的二进制位数,可以分为8位,16位,32位和位CPU。
地址总线决定了CPU可以访问的最大物理地址空间,比如说奔腾CPU有32位地址线,可寻址的最大容量就是2的32次方(4G)。
懂了吧

热心网友 时间:2023-10-19 19:39

这个依赖关系是存在的
博文说的也大致是这个意思

热心网友 时间:2023-10-19 19:38

首先要弄明白的是哪里的 int,因为不同地方出现的 int 可能会表示不同的意思。

对于程序语言中的 int,首先是要通过编译器或者解释器一关,因为编译器是怎么识别和处理 int 的起到了很大影响。像 java 编译器就把 int 在任何平台上都设定为 4 个字节。然而像 c 语言没有对 int 作多少处理(当然同一种语言可能会有不同的编译器,会有一些差异,但是因为都遵循一定的标准,所以差异不会太大,有地方说 turbo C 在 32 位环境下把 int 处理成 16 位(http://hi.baidu.com/donghongchen/blog/item/40a75119ad4ab90a35fa4197.html),我没有验证,不知对否——可能文中提到的版本比较老吧)。

于是接下去经过操作系统,操作系统会有影响。16位和32位的系统处理起来一般都不同,32位和位的系统处理起来可能会不同,注意两者的用词:前者是一般,后者只是可能,因为这取决于操作系统和编译器是怎么设计的——例如在大多数的 位操作系统下,int 仍然是 32 位的。

最后 cpu 当然会有影响。但是只影响操作系统和编译器(汇编可以直接操作寄存器,除外。汇编中其实也没有 int 的关键字,因为你面向的东西不同了),总之,这个 int 多少位已经由编译器和操作系统来控制了。CPU 毕竟会忠实地处理由操作系统地交给它的信息。操作系统因为是平台相关的,所以它会适应不同平台的 cpu,而对 int 之类的数据类型在递交给不同的 cpu 运算之前,就已经做出不同的处理。这就有点像平台无关的 java 虚拟机,实际上底层接口也是平台相关的,只是程序接口是平台无关的而已。

热心网友 时间:2023-10-19 19:38

int 是整型 占2byte(字节), 1byte=8bit(字).这个是规定!
不同的计算机字长不一样,但是同一系列字长是固顶的。
CPU的字长是同一时间可以同时处理的二进制位数,可以分为8位,16位,32位和位CPU。
地址总线决定了CPU可以访问的最大物理地址空间,比如说奔腾CPU有32位地址线,可寻址的最大容量就是2的32次方(4G)。
懂了吧

热心网友 时间:2023-10-19 19:39

这个依赖关系是存在的
博文说的也大致是这个意思

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com