精华内容
下载资源
问答
  • int型长度

    2013-10-24 11:19:00
    Ø 基本数据类型 C语言中只有4中基本数据类型——整型、浮点型、指针和聚合类型(如数组和结构等);所有其他类型都是从这4种基本类型的某种变化或...long int型至少应该和int型一样长,而int型至少应该和short int...

    Ø  基本数据类型

    C语言中只有4中基本数据类型——整型、浮点型、指针和聚合类型(如数组和结构等);所有其他类型都是从这4种基本类型的某种变化或组合派生而来。

    一、整型家族

    整型家族包括char、short int、int和long int,并且都分为signed和unsigned型。

    int型字长问题:

    long int型至少应该和int型一样长,而int型至少应该和short int一样长。

    ①     C/C++规定int字长和机器字长相同;

    ② 操作系统字长和机器字长未必一致;

    ③ 编译器根据操作系统字长来定义int字长;

    http://www.programfan.com/club/showbbs.asp?id=145906

    由上面三点可知,在一些没有操作系统的嵌入式计算机系统上,int的长度与处理器字长一致;有操作系统时,操作系统的字长与处理器的字长不一定一致,此时编译器根据操作系统的字长来定义int字长:“比如你在64位机器上运行DOS16系统,那么所有for dos16的C/C++编译器中int都是16位的;在64位机器上运行win32系统,那么所有for win32的C/C++编译器中int都是32位的”。(CPU的“字长”是指其一条指令/一次运算可以处理的数据的最大宽度。http://www.cublog.cn/u/23458/showart.php?id=175995)

    另外,对于整型的数值范围,每个编译器里面都有一个标准头文件:limits.h,这个头文件定义了一些宏,这些宏表示该编译器使用的所有数据类型的范围,编程过程中 使用这些宏就行了。例如你想要的int的最大值可以使用宏INT_MAX,最小值使用INT_MIN,而无符号则可以使用UINT_MAX,还有其它类型 的。你自己把这个头文件打开看看就知道了。

     

    附:关于“整形变量为32位”的问题的剖析:

    http://bbs.cpcw.com/viewthread.php?tid=666146

    整形变量是不是32位这个问题不仅与具体的CPU架构有关,而且 与编译器有关。在嵌入式系统的编程中,一般整数的位数等于CPU字长,常用的嵌入式CPU芯片的字长为8、16、32,因而整形变量的长度可能是8、 16、32。在未来64位平台下,整形变量的长度可达到64位。

    长整形变量的长度一般为CPU字长的2倍。

    在数据结构的设计中,优秀的程序员并不会这样定义数据结构(假设为WIN32平台):

    typedef struct tagTypeExample

    {

    unsigned short x;

    unsigned int y; 

    }TypeExample;

    他们这样定义:

    #define unsigned short UINT16 //16位无符号整数

    #define unsigned int UINT32 //32位无符号整数

    typedef struct tagTypeExample

    {

    UINT16 x;

    UINT32 y; 

    }TypeExample;

    这样定义的数据结构非常具有通用性,如果上述32平台上的数据发送到16位平台上接收,在16位平台上仅仅需要修改UINT16、UINT32的定义:

    #define unsigned int UINT16 //16位无符号整数

    #define unsigned long UINT32 //32位无符号整数

    几乎所有的优秀软件设计文档都是这样定义数据结构的。

     

    char型与程序可移植性:

    char类型变量在本质上是小整型值。

    字符型(char型)也分signed char和unsigned char型,如果在定义变量时只使用关键字char,缺省情况下它根据编译器的定义为signed char或unsigned char,这意味着不同机器上的char可能有不同的取值范围。因此,只有当程序使用的char型变量的值位于signed char和unsigned char的交集中(例如编译器认为char为8位二进制长时,这个交集是0~127,ASCⅡ字符集的字符都在这个范围内),这个程序才是可移植的。

    进一步,如果显示地将字符变量声明为signed或unsigned,则可提高程序的可移植性,不过,有些机器处理signed char和unsigned char的能力是不同的,硬性规定后可能会使效率受损,还有不少处理字符的库函数的参数声明为char,因此显示声明也可能会有兼容性问题。

    结论:保证可移植性的最佳办法还是定义为char型同时只使用signed char和unsigned char型的交集字符,在进行算术运算时,可根据需要再使用显示地声明或者强制转换。

    转载于:https://www.cnblogs.com/fangzhaolee/p/3385663.html

    展开全文
  • 计算int型数据的位数

    千次阅读 2017-02-21 23:28:42
    如果要计算一个int类型数据的位数,方法:1、传统的用一个计数变量count,然后循环体中一直number/10,count计数,最后的count就是位数2、直接用log函数,位数count=(int)log10(num)+13、用sprintf和strlen函数,...

    【转自:http://blog.csdn.net/thepeakofmountain/article/details/37575893

    如果要计算一个int类型数据的位数,方法:

    1、传统的用一个计数变量count,然后循环体中一直number/10,count计数,最后的count就是位数

    2、直接用log函数,位数count=(int)log10(num)+1

    3、用sprintf和strlen函数,sprintf(str,”%d”,num),count=strlen(str),这种直接求长度效率肯定要低很多,但是直接用了库函数不需要自己实现,如果需要对字符串处理的话,str还是很有价值的

    展开全文
  • 3、编写一个程序,要求定义两个数组a[ ][ ] = {{1},{1,2},{1,2,3},{1,2,3,4},{1,2,3,4,5}},b[ ] = {100,200,300},最后输出数组a的一维数组的个数和数组b的长度,将数组b的引用赋给a[4],输出a[4][2]的值。...
  • int型和string型

    2014-07-25 16:31:28
    int 型数据长度,有最大长度限制 在数据库中有tinyint,smartint,mediumint,int,bigint 以下是每个整数类型的存储和范围(来自mysql手册) 类型 字节 最小值 最大值 ...

    int 型数据长度,有最大长度限制

    在数据库中有tinyint,smartint,mediumint,int,bigint

    以下是每个整数类型的存储和范围(来自mysql手册)

    类型

    字节

    最小值

    最大值

     

     

    (带符号的/无符号的)

    (带符号的/无符号的)

    TINYINT

    1

    -128

    127

     

     

    0

    255

    SMALLINT

    2

    -32768

    32767

     

     

    0

    65535

    MEDIUMINT

    3

    -8388608

    8388607

     

     

    0

    16777215

    INT

    4

    -2147483648

    2147483647

     

     

    0

    4294967295

    BIGINT

    8

    -9223372036854775808

    9223372036854775807

     

     

    0

    18446744073709551615

    表格一共有四列分别表式:字段类型, 占用字节数, 允许存储的最小值, 允许存储的最大值.

    double 长度和精度,精度决定小数点后数字长度

     

    1.对银行账号而言 定义String型 长度任意,,,在httpServeletrequest.getParameter()得到的数为String或boolean型,

     

    可以用 NumberUtils方法如Double serviceRate =NumberUtils.toDouble(sRate);

    2.String转Int:  int a= Interger.parseInt(str);

    3.common.lang包  StringUtils.isNotBlank()和StringUtils.isEmpty()有做trim判断.

     

     

    展开全文
  • long型数据是int型数据长度的两倍。int型是4字节32位,那么long型是8字节64位,所以long表示的数据范围是2^63 -1。long long也有可能是这个范围

    long型数据是int型数据长度的两倍。int型是4字节32位,那么long型是8字节64位,所以long表示的数据范围是2^63 -1。long long也有可能是这个范围


    展开全文
  • 【转】关于int型长度

    2011-08-10 10:56:22
    基本数据类型 C语言中只有4中基本数据类型——整型、浮点、指针和聚合类型(如数组和结构等);所有其他类型都是从这4种基本类型的某种变化或组合派生而来。   一、整型家族 整型家族包括char、short intint...
  • 不是,其实这个int(1)和varchar(1)是不一样的,对于int型,不管你设计多少长度,它永远需要占用4个字节,默认就是11位,所以其实这个int(1)控制的不是数据长度,而是数据的显示长度,它指明了mysql最大可能显示的...
  • 我想把int型数据转换成32位的01字符串 用itoa函数的话,前面的0好像会被忽略掉,有什么简单的函数可以用?
  • int 长度

    2010-04-26 17:20:04
    Ø 基本数据类型 C语言中只有4中基本数据类型——整型、浮点型、指针和聚合类型(如数组和结构等);所有其他类型都是从这4种基本类型的某种变化或组合派生而来。...long int型至少应该和int型一样长,...
  • int、short型数据占2个字节(16位);long型数据占4个字节(32位)。 int、short可以表示的的最大范围是:-32768<---->32767 long 可以表示的最大范围是:-...
  • 1、Java中,一个int型占用4个字节,一个byte型占用1个字节,所以,对于一个int型,我们需要一个长度为4的byte型数组来对其进行存储。  2、当你将一个int型强制类型转换为byte型的时候,最高的三个字节会被砍掉,只...
  • 编译器可以根据自身硬件来选择合适的大小,但是需要满足约束:short和int型至少为16位,long型至少为32位,并且short型长度不能超过int型,而int型不能超过long型。 这即是说各个类型的变量长度是由编译器来决定的...
  • 关于mysql的int型主键自增问题

    千次阅读 2020-08-19 09:14:24
    我们在使用mysql数据库时,习惯使用int型作为主键,并设置为自增,这既能够保证唯一,使用起来又很方便,但int型长度是有限的,如果超过长度怎么办呢? 暴露问题 我们先创建一个测试表,创建语句如下: CREATE ...
  • int型动态数组总结

    2016-09-17 20:34:00
    简单的数据结构之-int型动态数组 这个貌似没有参考可以借鉴,如果哪位有幸看到,请您给我说一下哈!再次感谢各位了! 想关的参看的资料来自某培训机构,我是参照动态数组写的 想关的介绍文章 C语言中文网:...
  • 有关C++ int long最大表示长度问题

    千次阅读 2015-04-13 10:39:33
    int是short int的省略,占内存的2个...long long 的字符长度int型的两倍,现在int型一般为32位,所以long long是64位的,能支持的最大数为2^63 -1。根据处理数据的大小,选择合适的类型,尤其在OJ的时候一定要注意题
  • 碰到一些时间数据,准确的说不是一个具体的日期,比如是一个视频的长度,它是以int型多少秒存在数据库里的。我们希望它转换成hh:mm:ss的字符串形式输出显示。 通常的思路就是先计算这个数值里包含了多少小时,然后...
  • 输入一个int型的正整数,计算出该int型数据在内存中存储时1的个数。 输入描述: 输入一个整数(int类型) 输出描述: 这个数转换成2进制后,输出1的个数 示例1 输入 5 输出 2 分析 1.涉及十进制转二进制; 2.注意不...
  • 单定义int类型往往对变量的长度有局限性,往往得不到想要的结果。这时在java中math类提供BigDecimal方法可以解决这类问题。 以下是在main中测试的小例子: 减法:  String a="1000000000";  String b=...
  • int型数据类型的字节长度为4字节,除去一位用作符号位还有31位用来存值,其数值范围为-2147483648到2147483647(10位数)。当int型数据正向超限时,它会从最小值重新开始;负向超限会从最大值重新开始。 (在原码...
  • 8位单片机中unsigned int长度是多少

    千次阅读 2014-08-14 18:05:45
    用C写程序,和单片机本身是几位单片机没有任何关系的。你定义了一个int 数据,内存就分配给它两个字节。所以int数据都是16位的。unsigned int 数据是无符号整形,最高位不表示符号,所以...如果单单是int 型数据,则最
  • 如果直接定义一个数组,数组初始化后的长度是固定的,存入的数据数量有限,无法扩容存入更多数据。 利用C++的抽象类可实现可扩容的动态...//可扩容的动态int型数组,例程: #include <iostream> #include <cs
  • 将字符串直接转换为int型。但发现当输入一个20位的数时,则会抛出错误。 后来就像利用数组来存取数字,以为数组的长度可以根据字符串的长度开辟空间。首先利用的是toCharArray()转换为char型数据,再遍历后利用...
  • 使用SQL整理INT型格式

    2011-05-17 19:20:00
    table1ID是要格式化的数据,ID是Int 类型,CONVERT是把ID转换成varchar类型执行前:ID=1 执行后:00001执行前:ID=22 执行后:00022 STUFF删除指定长度的字符并在指定的起始点插入另一组字符。语法STUFF ( chara
  • QString SetHex(int num,int bit){ if(bit%2) return "";//invaild bit QString hexnum; hexnum.fill('0',bit*2); hexnum.push_back(QString::number(num,16)); hexnum=hexnum.toLatin1().toUpper(); return ...
  • 字符 char 1字节 单精度 float 4字节 双精度 double 8字节 长双精度 long double 8字节 注释: long是修饰数据类型的一个修饰词。 例如,长双精度就是说 long double ,而长整型就是说 long int,简
  • PAGE / NUMPAGES C语言中各种数据类型长度 C语言的基本数据类型有以下几个 int 整型 char 字符 float 单精度浮点 double 双精度浮点 另外在基本数据类型基础上附加一些限定词 得到扩充的数据类型shortlong可以...
  • int型的数值默认长度为4,即4个字节32位,2的32次方是+2,147,483,647;bigint类型的最大数值是9,223,372,036,854,775,807。 如果要在数据库中存手机号码的话,非得用数字就用bigint数据类型,或者使用varchar类型,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,954
精华内容 781
关键字:

int型数据长度