关于警察黑程序员的思考
2014-05-25 18:07
260 查看
最近在看The C Programming language (以下简称The C)这本书,其中关于字节的定义让我想起了一则笑话。
这是娱乐化的黑段子,大笑过后不得感叹警察的睿智,这是全民编码的时代,连警察蜀黍都知道各个类型变量所占的字节。要是答不上岂不被请去喝茶
,但是事实真的这么简单吗?
The C 中这样讲:Each complier is free to choose appropriate sizes for its own hardware, subject only to the restriction that shorts and ints are at least 16bits, longs are at least 32bits, and short is
no longer than int, which is no longer than long. 意思是编译器可以根据自身硬件来选择合适大小,唯一的约束条件:short 和 int 型至少16位,long型至少32位,short 型不能长于int 型,int 型不能长于long型。换句话说,不同平台上对不同数据类型分配的字节数是不同的,具体的分配主要由编译器决定。常用数据类型对应字节数
深夜里,警察见一路人急匆而过。 警察大喊:站住,int类型占几个字节? 路人:4个字节。 路人:为什么问这样的问题? 警察:这个点出来的只有两种人,小偷和程序员。
这是娱乐化的黑段子,大笑过后不得感叹警察的睿智,这是全民编码的时代,连警察蜀黍都知道各个类型变量所占的字节。要是答不上岂不被请去喝茶
,但是事实真的这么简单吗?
The C 中这样讲:Each complier is free to choose appropriate sizes for its own hardware, subject only to the restriction that shorts and ints are at least 16bits, longs are at least 32bits, and short is
no longer than int, which is no longer than long. 意思是编译器可以根据自身硬件来选择合适大小,唯一的约束条件:short 和 int 型至少16位,long型至少32位,short 型不能长于int 型,int 型不能长于long型。换句话说,不同平台上对不同数据类型分配的字节数是不同的,具体的分配主要由编译器决定。常用数据类型对应字节数
C类型 | 32位编译器 | 64位编译器 |
char | 1 | 1 |
char*(指针变量) | 4 | 8 |
short int | 2 | 2 |
int | 4 | 4 |
unsigned int | 4 | 4 |
float | 4 | 4 |
double | 8 | 8 |
long | 4 | 8 |
long long | 8 | 8 |
unsigned long | 4 | 8 |
相关文章推荐
- 关于程序员在30岁、35岁之后怎么办的新思考
- 关于程序员在30岁、35岁之后怎么办的新思考
- 关于程序员成长的一点思考
- 关于程序员成长的一点思考
- 一个无名程序员关于个人和公司的一点点思考
- 关于Hard Code的思考 - 程序员的管理不能简单使用制度
- 一个.Net程序员关于学习的思考顺带思考人生
- 关于程序员成长的一点思考
- 关于程序员成长的一点思考
- 关于软件程序员职业规划的思考
- 关于程序员解决问题的思考
- 路要怎么走?关于程序员成长的一点思考
- 路要怎么走?关于程序员成长的一点思考
- 关于程序员成长的一点思考
- 路要怎么走?关于程序员成长的一点思考
- 关于Hard Code的思考 - 程序员的管理不能简单使用制度
- 关于程序员成长的一点思考
- 路要怎么走?关于程序员成长的一点思考
- 关于程序员成长的一点思考
- 一个.Net程序员关于学习的思考顺带思考人生