在C语言并没有对于严格规定short,int  long所占字节,只是做了宽泛要求:
short:至少连个字节

int建议为一个机器字长,32位环境下机器字长是4个字节,64位环境机器字长是8个字节

short的长度不能大于int,long的长度不能小于int

类型转化:char,short--->int--->unsigned --->long--->double<-----float

再详细一点可以参看:

http://blog.csdn.net/zhangzhi123456789/article/details/49589137

1-----

这个与自己的编译器的位数有关系,但是也有几条铁定的规则:

sizeof(short int)《=sizeof(int)

sizeof(int)<=sizeof(long int)

short int 至少是16位(2个字节)

long int至少是32位

这个unsigned是代表没有符号的意思

例如:

十六位编辑器:

char  1个字节

char *(指针变量类型):2个字节

short int 2个字节

unsigned int :2个字节

float 4个字节

double 8个字节

long 4个字节

long long  8个字节

unsigned long 4个字节

32位编译器

char :1个字节

char*(即指针变量): 4个字节(32位的寻址空间是2^32, 即32个bit,也就是4个字节。同理64位编译器)

short int : 2个字节

int: 4个字节

unsigned int : 4个字节

float: 4个字节

double: 8个字节

long: 4个字节

long long: 8个字节

unsigned long: 4个字节64位编译器

char :1个字节
char*(即指针变量): 8个字节(和上面的那个是一样的,就是指针类型 而且是64位编辑器,所以寻址范围就是8个字节)
short int : 2个字节
int: 4个字节
unsigned int : 4个字节
float: 4个字节
double: 8个字节
long: 8个字节
long long: 8个字节
unsigned long: 8个字节
不同进制的整数:
八进制:使用时,开头必须是0开头(注意是数字零,不是字母o)
 //合法的八进制数
int a = ; //十进制为 13
int b = -; //十进制为 -65
int c = ; //十进制为 65535 //非法的八进制
int m = ; //无前缀 0,相当于十进制
int n = 03A2; //A不是有效数字

十六进制:由数字0~~9,字母A-F表示,使用时开头必须是0x或者0X:

//合法的十六进制
int a = 0X2A; //十进制为 42
int b = -0XA0; //十进制为 -160
int c = 0xffff; //十进制为 65535 //非法的十六进制
int m = 5A; //无前缀 0X
int n = 0X3H; //H不是有效数字

各种整数输出:

int -->%d   short-->%hd    long--->%ld

输出十进制   %d

输出八进制   %o(注意是字母o)

输出十六进制   %x或者%X,

在各个输出还可以加上#       %#d    %#o     %#x    %#X

17.3.10--关于C元的变量类型所占字节问题和类型转化的更多相关文章

  1. c# 把一个匿名对象赋值给一个Object类型的变量后,怎么取这个变量? c# dynamic动态类型和匿名类 详解C# 匿名对象(匿名类型)、var、动态类型 dynamic 深入浅析C#中的var和dynamic

    比如有一个匿名对象,var  result =......Select( a=>new {  id=a.id, name=a.name});然后Object  obj =  result ;我怎 ...

  2. 错误: 从内部类中访问本 地变量vvv; 需要被声明为最终类型

    从github 下载了源码, 进行编译, 出现了下面的错误 E:\downloads\ff\elasticsearch-master\elasticsearch-master>GRADLE :b ...

  3. 无法将类型“System.Nullable`1”强制转换为类型“System.Object”。LINQ to Entities 仅支持强制转换 EDM 基元或枚举类型。

    在一个项目中使用LINQ和EF时出现了题目所示的异常,搜索了很多资料都找不到解决办法,主要是因为EF方面的知识欠缺. 先将情况记录如下,以供以后参考. 查询主要设计两张表,由外键关联: 在进行下面的查 ...

  4. 变量和关系符和JAVA基本类型笔记与常考面试题

    变量的类型:数值型:整型(byte,short,int,long).浮点型(float,double)非数值型:布尔类型(boolean),字符型(char),字符串类型(String),其他引用型 ...

  5. 继承的基本概念: (1)Java不支持多继承,也就是说子类至多只能有一个父类。 (2)子类继承了其父类中不是私有的成员变量和成员方法,作为自己的成员变量和方法。 (3)子类中定义的成员变量和父类中定义的成员变量相同时,则父类中的成员变量不能被继承。 (4)子类中定义的成员方法,并且这个方法的名字返回类型,以及参数个数和类型与父类的某个成员方法完全相同,则父类的成员方法不能被继承。 分析以上程

    继承的基本概念: (1)Java不支持多继承,也就是说子类至多只能有一个父类. (2)子类继承了其父类中不是私有的成员变量和成员方法,作为自己的成员变量和方法.(3)子类中定义的成员变量和父类中定义的 ...

  6. Atitit.变量的定义 获取 储存 物理结构 基本类型简化 隐式转换 类型推导 与底层原理 attilaxDSL

    Atitit.变量的定义 获取 储存 物理结构 基本类型简化 隐式转换 类型推导 与底层原理 attilaxDSL 1.1. $ 美元字符, php 黑头1 1.2. 默认变量的范围和声明:1 1.3 ...

  7. CLR-基元类型以及溢出检查 (CLR-Via-C#) 类型基础

    CLR-基元类型以及溢出检查   =========(CLR via C#阅读笔记)======== 基元类型(primitive type): 基元类型也不做过多的解释,举个例子即可清晰的辨别 在j ...

  8. Python中查看变量的类型,内存地址,所占字节的大小

    查看变量的类型 #利用内置type()函数 >>> nfc=["Packers","49"] >>> afc=[" ...

  9. Mac OS X 10.10.2 Yosemite jdk 环境变量配置

    我的Mac系统版本是OS X 10.10.2 Yosemite,为了用Eclipse做android开发,安装了jdk 1.7, 但是如果想使用IntelliJ IDE做android开发的话,就需要 ...

随机推荐

  1. 2.python的基本数据类型

    (1)整形和浮点型 (2)布尔 (3)字符串 (4)转义 (5)字符串的操作 (6)列表 (7)元组 (8)集合set 特性:无序.不重复 (9)字典

  2. 复选框全选、反选及根据值JS控制复选框默认选中事件

    HTML代码 <div class="col-sm-7"> <input type="checkbox" id="allAndNot ...

  3. C#获取屏幕的宽度和高度

    //1.在屏幕的右下角显示窗体 //这个区域不包括任务栏的 Rectangle ScreenArea = System.Windows.Forms.Screen.GetWorkingArea(this ...

  4. MongoDB Projection

    版权所有,未经许可,禁止转载 章节 MongoDB 入门 MongoDB 优势 MongoDB 安装 MongoDB 数据建模 MongoDB 创建数据库 MongoDB 删除数据库 MongoDB ...

  5. windows driver 延时

    #define Delay_One_MicroSecond (-10) #define Delay_One_MilliSecond (Delay_One_MicroSecond * 1000) voi ...

  6. tx2--开机启动

    TX2上电自动开机 参考:http://121.42.13.250/?p=168 问题描述 Jetson TX2在接通电源后,按下板子上的PWOER BTN开机键(S4)后,便能够正常启动.但这对于一 ...

  7. ES6 - 装饰器 - Decorater

        注意,修饰器对类的行为的改变,是代码编译时发生的,而不是在运行时.这意味着,修饰器能在编译阶段运行代码.也就是说,修饰器本质就是编译时执行的函数.   修饰器是一个对类进行处理的函数.修饰器函 ...

  8. 关于SI4432数据手册的简单讲解

    SI4432是高度集成度单芯片无线ISM收发器件.EZRadioPRO系列包括了发射机.接收机和射频收发器,让设计工程师可以有选择的设计利用里面的无线部分. SI4432提供了先进的无线功能,包括连续 ...

  9. ng-repeat动态生成的DOM如何获取宽度(封装好的方法)

    define(['custom/bootstrapApp'],function(app){ app.filter('getTabWidth',function(){ return function(a ...

  10. matlab中自带的sobol的函数提供的sobol序列

    clc; clear all; close all; M=;% 维度,几个参数 nPop=; VarMin=[0.6, 0.10, 0.002, 0.02, 0.17, 0.0, 0.17, 0.0, ...