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 ...
随机推荐
- 避免多层回调,Node.js异步库Async使用(parallel)
原来写的一个分页查询,回调了好几层. exports.list = function(req,res) { var params = {}; var current_page = common_uti ...
- 403 Forbidden
http://baike.baidu.com/link?url=JJXC_XqJ2d-twe1dhbLUiRgvZU5OfneRURT4LvrtWBqv9Av4J0GPOlwk3KQuRx4Hzu4N ...
- 日志挖掘Logmnr
日志挖掘 9.1 日志中数据用途 所有对用户数据以及数据字典的改变全部被保存在联机日志中.当然nologging,insert/*+append+/情况比较特殊除外,因此归档日志可以用来做数据库的恢复 ...
- jsp页面
//获取根目录 ${pageContext.request.contextPath} //(父页面提交,嵌入页面显示)提交表单,设置响应方法和返回结果页面显示在frame中 <input typ ...
- 【转】 利用.dSYM和.app文件准确定位Crash位置
http://blog.csdn.net/jinzhu117/article/details/20615991 首先,确保在release(Ad Hoc或者App Store)一个版本时,保存了对应的 ...
- Android 媒体键监听以及模拟媒体键盘的实现 demo
有时我们需要程序模拟按钮或点击,而手机本身又没有,哪么可以采取其它方式 模拟实现,最后再去实际设备去测试(前期一般都拿不到设备): 如上一首,下一首,暂停等,手机上是没有的,但有些设备上是有的,所以我 ...
- Oozie 中各种类型的作业执行结果记录
一,提交的作业被SUSPEND,然后再被KILL,记录如下: TYPE1: appType WORKFLOW_JOB id 0000002-160516095026479-oozie-oozi-W e ...
- Quick Sort(快排)
这是挖坑填补法的演示 快排之挖坑填补法: void Quick(int top/*起始位置*/,int end/*末尾位置*/,int arr[])//挖坑填补法 { int i=top,j=end, ...
- ubuntu 更新重启后 登录后 无法进入图形界面
切换到控制台然后看看-/.Xauthority的组属性是否正确,如果被改成root组了,就会造成不能登陆,你将其删除就ok了
- LARGE_INTEGER
#include <windows.h> int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR ipCm ...