int 类型 占多少字节是由什么决定的
int 类型占据多少字节?到底是跟编译器有关?还是系统来决定的?
1. CPU的设计者才不管你在上面跑什么程序.他们只是按着他们的想法来设计.
而int的大小,至少在C/C++中,标准只说可以由实现者自己定义.至于要不要按机器的字长来设计那就是编译器设计者的喜好了.除非哪天标准改成int必须是机器的字长....不过C/C++标准中抽象出来的"机器",恐怕没有字长这个概念吧.
2. 编译器,简单的说目前流行的的是32位机,但TC里的int就是16位的,流行的编译器(gcc,VC)都是32位。
另外64位机也有了,但上面的int还是可以是32位的。
与此同时,就算在32位机上,也可以做出64位的int来。
所以只要愿意,编译器能决定出int的大小,就算是8位的机器也能搞出64位的来。
3. 一个简单大家都知道的事实!
trubo C的int是2字节
vc的int是4字节
再看java编译器,无论在什么机器上,int都是那么大
所谓跟平台无关,就是跟机器和操作系统没有关系!
=====================================
且看下面: likefermat 大神的 总结:
4. 机器第一作用,编译器第二作用.
现在新出的机器开始有64位的,编译器也逐渐的要适应这个改变,由32位向64位过渡.
如果机器是16位的,编译器强制为32位的话,效率及其低下,没那家厂商会做如此SB的事情,
我们现在的机器一般都是32位的,编译器所以一般也是32位,但也支持64位的,
__int64 就是64字节的,
总之int 只是一个类型,没有太大的意义,机器的位数才是关键所在!
离开机器,说有编译器决定的人,实在不敢恭维.
难道要在8位机上实现64bit的编译器?
机器进步了,编译器跟不上,就要被淘汰,
编译器超前了,效率低下,也不会有市场,
所以不要单纯的讨论编译器或者机器了。
OVER!
int 类型 占多少字节是由什么决定的的更多相关文章
- Java 字节数组类型(byte[])与int类型互转
代码如下: public class CommonUtils { //高位在前,低位在后 public static byte[] int2bytes(int num){ byte[] result ...
- MySQL数据类型 int(M) 表示什么意思?详解mysql int类型的长度值问题
MySQL 数据类型中的 integer types 有点奇怪.你可能会见到诸如:int(3).int(4).int(8) 之类的 int 数据类型.刚接触 MySQL 的时候,我还以为 int(3) ...
- 二进制、十六进制理解及int类型二进制存储方式
二进制 0000 0000 0000 0000 0000 0000 0000 0001 // 2^0 0000 0000 0000 0000 0000 0000 0000 0010 // 2^1 00 ...
- int类型究竟占几个字节
我最近也在看深入理解计算机系统这本书,上面提到了在32位机器和64机器中int类型都占用4个字节.后来,别人查了The C Programming language这本书,里面有一句话是这样的: Ea ...
- 一个int类型究竟占多少个字节
一个int占多少个字节? 这个问题我们往往得到的答案是4. 可是int究竟占多少个字节,却跟你的机器环境有关. As you can see, the typical data type sizes ...
- php中int类型在不同平台所占不同字节数理解
1.在不同平台上占字节数与最大值 在32位平台上int占4个字节,在64位平台上int占8个字节,PHP_INT_SIZE 在32位平台上int的最大值2^31 - 1,在64位平台上int最大值2^ ...
- 一int考虑什么类型的多少字节
一int表示的字节数? 问题是,我们经常得到的答案4. 但int究竟占多少个字节,却跟你的机器环境有关. As you can see, the typical data type sizes mat ...
- C++ string类型占几个字节
在C语言中我们操作字符串肯定用到的是指针或者数组,这样相对来说对字符串的处理还是比较麻烦的,好在C++中提供了 string 类型的支持,让我们在处理字符串时方便了许多.这篇文章并不是讲解 ...
- java中boolean类型占几个字节
java的基本数据类型中,boolean只有两种状态,默认值为false.取值范围是{true,false},理论上占1bit,实际上: 1.单个的boolean 类型变量在编译的时候是使用的int ...
随机推荐
- hdu 1255 覆盖的面积(线段树 面积 交) (待整理)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1255 Description 给定平面上若干矩形,求出被这些矩形覆盖过至少两次的区域的面积. In ...
- Altium designer 原理图库快速创建
Altium designer 原理图库快速创建,原来都没发现用这个功能,最近查了一下很好用,就是通过Excel编写管脚名称再直接导入就可以了,很方便的. 1.首先在Excel创建填好对应管脚名称. ...
- Redis多机功能总结
1.通过Redis的复制功能,用户可以创建指定服务器的任意多个复制品,每个复制品服务器和被复制的原服务器拥有相同的数据: 2.通过将读请求分散给多个从服务器处理,用户可以减少主服务器在处理读请求方面的 ...
- jmeter接口自动化,你敢想,我敢玩
飞测说:大家好,我是黑夜小怪,今天我又来了分享了.最近用jmeter比较多,做过自动化测试的都知道,我们脚本和数据维护是你十分头疼的事情,刚好黑夜小怪我最近接触到一个项目的接口测试,今天我们一起分享下 ...
- 翻译的技巧(The Technique of Translation)——前言
曰:你要发文章才能毕业! 答:谨遵圣命-- 缘起 研三了,要找工作了,要离开学校了,又要像浮萍般飘荡在世上了,还是学校好呀!本以为写个毕业论文就可以了,谁知老板幽幽地说写篇文章发了吧.我竟无言以对.不 ...
- php最简单的文件处理。
<?php $DOCUMENT_ROOT =$_SERVER['DOCUMENT_ROOT']; ?> <html> <head> <title>Bob ...
- 学习练习 Java冒泡排序 二分查找法
冒泡排序: // 冒泡排序 /* System.out.println("请输入要排序的个数:"); Scanner v = new Scanner(System.in); int ...
- Oracle:使用过程中的问题集锦
导读:在使用Oracle的过程中,又频繁的出问题.突然间就连接不上,各种报错了.在此,将问题给记录下来,方便以后查看. 一.ora 12514监听程序当前无法识别 之前一直链接使用的好好的,突然就连接 ...
- Spring 注解实体类中非数据库字段属性
解决办法:在属性的get方法上加上一段注解标识它是临时属性,不是数据库字段就OK @Transient public List<Reverts> getChildList() { retu ...
- 无法完成安装:'unsupported configuration: hda-duplex not supported in this QEMU binary'
Linux 有问必答:如何修复"hda-duplex not supported in this QEMU binary" 编译自:http://ask.xmodulo.com/h ...