64位macbook一个字长是32位还是64位
这不为语言标准规定,是实现定义的,和平台采用的数据模型有关。可以看这里:https://en.m.wikipedia.org/wiki/64-bit_computing主流 64 位系统上 int 为 32位的一个原因是 C/C++ 有 5 种标准整数长度,即 char/short/int/long/long long 的长度,char 语义是一个字节长度,这些长度不严格递增;一般的 CPU 适合处理 8/16/32/64 位长度;而假如 int 为 64 位,那么 8/16/32 位总有一个要空出来,无法对应标准整数类型。
■网友
【64位macbook一个字长是32位还是64位】 谢邀。你需要理解以下概念:
CPU的字长。64位Intel CPU,字长是64。你的理解没错。Intel CPU手册中的WORD的含义。它是16位,是在16位Intel CPU流行的时候定义的字长,为了兼容性,一直到现在WORD还是16位。DWORD是32位。QWORD是64位。编译器。编译一个C语言文件时,它需要指定输出的可执行代码是什么平台的。比如,以32位的Visual C++ 6.0为例,它默认输出的是32位Intel CPU上执行的程序,所以,指针和int都是32位。long也是32位。__int64是64位。在你的例子里,编译器显然认为int是32位,long也是32位,而long long是64位。由于你的程序没有显示指针长度,我无法判断编译器的输出目标是32位程序(指针长32位)还是64位程序(指针长64位)。32位程序在64位CPU上的执行。32位程序会在硬件和操作系统两个层面被虚拟化,以便在64位操作系统和64位CPU上执行。在Windows上这个技术叫Wow6432。64位的Linux和Mac OS X也支持运行它们各自的32位程序。
■网友
一般来说int都是32位,无论是64位还是32位。
■网友
跟你的电脑没关系。取决于编译器和编译产出的binary。
推荐阅读
- 同比■同比增长7.1%!2021年的第一个节你花了多少钱?
- “他是我第一个会说普通话的老师”:一对师生折射青海山村蝶变
- 有必要重新开个C店吗
- 大学再有三个月就结束了,没学到知识,参加一个软件测试培训机构好吗
- 汽车|长安UNI-K又将开创一个新的"引力"纪元?
- 神话|武汉传奇父亲:一个平行班孩子创造的高考神话(感动上万家长)
- 王者荣耀李白能不能出肉
- 直播会成为品牌传播的另一个途径么有哪些可行的方法感觉有戏又没头绪好捉急。
- 怎样成为一名合格的Python程序员?
- 知乎有没有必要增加一个特别关注功能