精华内容
下载资源
问答
  • 2021-06-27 18:00:48

    字节

    1. 字节:byte:用来计量存储容量的一种计量单位;位:bit

    2. 一个字节等于8位 1byte = 8bit

    1b = 8bit(位)

    1Kb = 1024b

    1Mb = 1024kb

    1Gb = 1024Mb

    字节的单位就是B,1个英文字母一般是占1个字节(根据不同的编码),一个中文一般是2个字节。

    char占用的是2个字节 16位,所以一个char类型的可以存储一个汉字。

    整型:

    byte:1个字节 8位 -128~127

    short :2个字节 16位 (-215~215-1)

    int :4个字节 32位 (-231~231-1)

    long:8个字节 64位 (-263~263-1)

    浮点型:

    float:4个字节 32 位

    double :8个字节 64位

    注:默认的是double类型,如3.14是double类型的,加后缀F(3.14F)则为float类型的。

    char类型:

    char:2个字节。

    Boolean 类型:

    boolean: (true or false)(并未指明是多少字节 1字节 1位 4字节)

    补充:BigInteger类实现了任意精度的整数运算,BigDecimal实现了任意精度的浮点数运算。

    莫要把字节和字符弄混了,虽然二者就不在同一个位面

    字节(Byte)是一种计量单位,表示数据量多少,它是计算机信息技术用于计量存储容量的一种计量单位;

    字符是指计算机中使用的文字和符号。

    更多相关内容
  • int占几个字节(c语言)?

    千次阅读 2021-02-09 03:26:41
    int在16位编译器中个字节,int在32位编译器中个字节。“int”是整数类型的类型名,长整型的类型名为“long int”,可简写为“long”,“int”和“long”都是关键字。int在16位编译器中个字节,int在32位...

    int在16位编译器中占两个字节,int在32位编译器中占四个字节。“int”是整数类型的类型名,长整型的类型名为“long int”,可简写为“long”,“int”和“long”都是关键字。

    1615c2860bf11d0c94b2588fbf37d1be.png

    int在16位编译器中占两个字节,int在32位编译器中占四个字节。

    1、16位编译器

    char :1个字节 char*(即指针变量): 2个字节 short int : 2个字节 int: 2个字节unsigned int : 2个字节float: 4个字节double: 8个字节long: 4个字节long long: 8个字节unsigned long: 4个字节

    2、32位编译器

    char :1个字节char*: 4个字节 short int : 2个字节int: 4个字节unsigned int : 4个字节float: 4个字节double: 8个字节long: 4个字节long long: 8个字节unsigned long: 4个字节

    ec8d648eca0eb09e12d13128dd102364.png

    拓展资料:

    整型数据的一般分类如下:

    1、基本型:类型说明符为int,在内存中占2个字节。

    2、短整型:类型说明符为short int或short。所占字节和取值范围均与基本型相同。

    3、长整型:类型说明符为long int或long,在内存中占4个字节。

    4、无符号型:类型说明符为unsigned。无符号型又可与上述三种类型匹配而构成:

    1)无符号基本型:类型说明符为unsigned int或unsigned。

    2)无符号短整型:类型说明符为unsigned short。

    3)无符号长整型:类型说明符为unsigned long。

    推荐教程:《C语言教程》

    展开全文
  • 原来以为int(11)是指11个字节,int(10)就是10个字节。我错了。http://zhidao.baidu.com/link?url=puYWaGBQNKNHgffO5kdvXshF3KmX8OuB4Mor3HXapbNHa8m1CdlF8PJTqVuKa1eKcEd6Bv2NKUr3I-KJr5-7ISLhBsmf17L...

    原先对mysql不太理解,但也没有报错。但理解的不够深入。这次补上。

    原来以为int(11)是指11个字节,int(10)就是10个字节。我错了。

    http://zhidao.baidu.com/link?url=puYWaGBQNKNHgffO5kdvXshF3KmX8OuB4Mor3HXapbNHa8m1CdlF8PJTqVuKa1eKcEd6Bv2NKUr3I-KJr5-7ISLhBsmf17Lu69vxv2aR99_

    mysql的基本数据类型里几个int如下:

    类型 大小 范围(有符号) 范围(无符号) 用途

    TINYINT 1字节 (-128,127) (0,255) 小整数值

    SMALLINT 2 字节 ( -2^15 :-32 768,2^15 - 1:32 767) (0,65 535) 大整数值

    MEDIUMINT 3 字节 (-8 388 608,8 388 607) (0,16 777 215) 大整数值

    INT或INTEGER(int 的 SQL-92 同义字为 integer) 4 字节 (-2^31:-2 147 483 648, 2^31 - 1:2 147 483 647) (0,4 294 967 295) 大整数值

    BIGINT 8 字节 (-2^63:-9 233 372 036 854 775 808,2^63-1:9 223 372 036 854 775 807) (0,18 446 744 073 709 551 615) 极大整数值

    这些类型,是定长的,其容量是不会随着后面的数字而变化的,比如int(11)和int(8),都是一样的占4字节。tinyint(1)和tinyint(10)也都占用一个字节。

    那么后面的11和8,有啥用呢。

    http://zhidao.baidu.com/link?url=b0Z-WIhggaErl3uhMrAhoEXQG_3zotyd7r31O3RXSYiFJo1Cad-NeWN8cFXZFI50yVG_lpKooT7OjLhIa20ephKFJYD-fV9ZAv_o63AfyVq

    mysql数据库中以 :数据类型(m)  来约束数据,其中 数字m在不同的数据类型中表示含义是不同的。 咱们这里只讲整数。

    整型数系统已经限制了取值范围,tinyint占1个字节、int占4个字节。所以整型数后面的m不是表示的数据长度,而是表示数据在显示时显示的最小长度。

    tinyint(1) 这里的1表示的是 最短显示一个字符。tinyint(2) 这里的2表示的是 最短显示两个字符。

    当字符长度超过(m)时,相当于啥都没发生;

    当字符长度小于(m)时,就需要指定拿某个字符来填充,比如zerofill(表示用0填充),

    设置tinyint(2) zerofill 你插入1时他会显示01;设置tinyint(4) zerofill 你插入1时他会显示0001。

    所以,没有zerofill,(m)就是无用的。

    http://blog.csdn.net/phpwish/article/details/7845921

    综上整型的数据类型括号内的数字不管是多少,所占的存储空间都固定的。

    http://www.cnblogs.com/xiaochaohuashengmi/archive/2011/08/25/2153016.html

    mysql 中int(1)和tinyint(1)中的1只是指定显示长度,并不表示存储长度,只有字段指定zerofill时有用。

    位数限制基本没有意义。

    在mysql中我做过实验,对于一个tinyint类型的字段,不管它是tinyint(1)还是tinyint(2)还是tinyint(3),

    当你插入大于127的数,都会存入127。跟上文中的结论是一样的。

    总结:int(11),tinyint(1),bigint(20),后面的数字,不代表占用空间容量。而代表最小显示位数。这个东西基本没有意义,除非你对字段指定zerofill。

    所以我们在设计mysql数据库时,

    建表时,mysql会自动分配长度:int(11)、tinyint(4)、smallint(6)、mediumint(9)、bigint(20)。

    所以,就用这些默认的显示长度就可以了。不用再去自己填长度,比如搞个int(10)、tinyint(1)之类的,基本没用。而且导致表的字段类型多样化。

    http://blog.csdn.net/longyulu/article/details/7326581

    该文很好地总结了mysql所有的数据类型。

    我在建一个float类型的字段时,故意建成float(2,3)型,是错误的。报错如下。

    6e0e446570fcb13687087cbb64177a54.png

    第一个数字M,代表总长度限制(总长度包括小数位和整数位),2代表总长度不能超过2个字符,比如2.34,就超过了2位总长度;

    第二个数字D,代表小数位的长度限制。0.2表示占用了1个小数位。

    这样看,当然M必需大于等于D。

    比如设置为float(2,2),那么写入12.3这个数字时,实际插入的是0.99。

    比如设置为float(2,1),那么写入12.3这个数字时,实际插入的是9.9。

    mysql会自动截取该字段能接受的最大值存入。

    那么设置为float(0,0),则相当于不受限制,或者说受float本身的精度限制。

    对于mysql的浮点型,实在太复杂,没搞清,看这篇:http://www.jb51.net/article/31723.htm

    再来看看mysql的整型、浮点型,怎么跟oracle的数据类型NUMBER对应的。

    先来看看oracle的NUMBER类型的特点:

    参考http://www.linuxidc.com/Linux/2012-02/54603.htm

    Number(p, s) 声明一个定点数 p(precision)为精度,s(scale)表示小数点右边的数字个数,精度最大值为38,scale的取值范围为-84到127

    Number(p) 声明一个整数 相当于Number(p, 0)

    Number 声明一个浮点数 其精度为38,要注意的是scale的值没有应用,也就是说scale的值不能简单的理解为0,或者其他的数。

    定点数的精度(p)和刻度(s)遵循以下规则:

     当一个数的整数部分的长度 > p-s 时,Oracle就会报错。(可见s个位置是留给小数的;p-s个位置是留给整数部分的,这样很清晰啊。p代表整数位和小数位全部的长度限制,这一点跟mysql很像)

     当一个数的小数部分的长度 > s 时,Oracle就会舍入。(同上,实际上不会报错,oracle会四舍五入,比如NUMBER(4,2),插入99.248,保存为99.25;插入99.242,保存为99.24;插入99.2448,保存为99.24而不是99.25,注意他四舍五入的位置是s位。)

     当s(scale)为负数时,Oracle就对小数点左边的s个数字进行舍入。(暂时不管它)

     当s > p 时, p表示小数点后第s位向左最多可以有多少位数字,如果大于p则Oracle报错,小数点后s位向右的数字被舍入。(暂时不管它)

    经实验,比如定义一个字段为Number(3),那么写入该字段,最多不能超过3个数字。比如,你可以插入999(或-999),但是不能插入1000(或-1000)。以此类推。

    比如定义一个字段为Number(3,2),那么写入该字段,最多不能超过3位的整数,最多2位的小数。

    综上,我们可以看出mysql和oracle的对应关系:

    mysql

    oracle

    理由

    tinyint(1字节)

    以及tinyint unsigned

    NUMBER(3)

    范围(-128,127) (0,255),所以至少NUMBER(3)对应。

    但是不能NUBER(1),这样只能最大存9。

    smallint(2字节)

    以及smallint unsigned

    NUMBER(5)

    范围(-32 768,32 767) (0,65 535) ,所以至少NUMBER(5)对应。

    MEDIUMINT(3字节)

    以及

    MEDIUMINT unsigned

    NUMBER(7)

    以及

    NUMBER(8)

    范围(-8 388 608,8 388 607) (0,16 777 215),所以

    非unsigned用NUMBER(7)对应;

    unsigned用NUMBER(8)对应。

    int(4字节)

    以及

    int unsigned

    NUMBER(10)

    范围(-2 147 483 648, 2 147 483 647) (0,4 294 967 295),

    所以至少NUMBER(10)对应。

    bigint(5字节)

    以及bigint unsigned

    NUMBER(19)

    以及

    NUMBER(20)

    范围(-9 233 372 036 854 775 808,9 223 372 036 854 775 807)

    (0,18 446 744 073 709 551 615),

    所以非unsigned用NUMBER(19)对应;

    unsigned用NUMBER(20)对应。

    float(m,d)

    以及

    unsigned

    NUMBER(m,d)

    因为NUMBER(m,d)是定点数,精度超过浮点数。

    所以只需保持位数一致即可,精度也会更强。

    double(m,d)

    以及

    unsigned

    NUMBER(m,d)

    同上。

    decimal(m,d)

    以及

    unsigned

    NUMBER(m,d)

    Decimal(n,m)表示数值中共有n位数,其中整数n-m位,小数m位。

    例:decimal(10,6),数值中共有10位数,其中整数占4位,小数占6位。

    p (有效位数)必需是1~38之间的数。

    ORACLE中有SMALLINT,INT,INTEGER类型,不过这是NUMBER(38,0)的同义词。

    展开全文
  • Python中的整型多少个字节

    千次阅读 2020-11-21 03:32:57
    说到计算机中的整型,相信很多人都会联想到32位整型(或者int),是程序员日常生活中用的最多的一种类型。32位整型顾名思义,占用32个位也就是4个字节,取值范围−2,147,483,648...但是Python中的一个整型到底占用多...

    说到计算机中的整型,相信很多人都会联想到32位整型(或者int),是程序员日常生活中用的最多的一种类型。32位整型顾名思义,占用32个位也就是4个字节,取值范围−2,147,483,648~ 2,147,483,647 。C/C++中是4个字节,Java中也是4个字节,但是Python中呢?

    我们知道Python中也有int类,而且非常好用,原生支持高精度计算。但是Python中的一个整型到底占用多少字节呢?我相信绝大多数的Python程序员从未想过这一点,越是习以为常的东西越是不会在意它的存在。

    在Python中,如果想要知道一个对象所占用的内存大小,只需要使用sys.getsizeof这个API就可以了。那就让我们来试一下不同的整数

    1

    2

    3

    4

    5

    6

    print(sys.getsizeof(0))# 24

    print(sys.getsizeof(1))# 28

    print(sys.getsizeof(2))# 28

    print(sys.getsizeof(2**15))# 28

    print(sys.getsizeof(2**30))# 32

    print(sys.getsizeof(2**128))# 44

    从上面的小实验可以看出,一个整型最少要占24字节(0),1开始就要占用28个字节,到了2的30次方开始要占用32个字节,而2的128次方则要占用44个字节。我们可以得到两点规律,1. 字节数随着数字增大而增大。2. 每次的增量是4个字节。 好像至此已经回答了我们的题目中的问题:Python中的整型占多少个字节?答案是:变长的(相对于int32的定长),而且最少24个字节。

    你以为本文到这里就结束了吗?那你就图样图森破了。一个整型数2,居然要占用28个字节!这完全了颠覆了我的认知,我一定搞清楚为什么。 在哥们的帮助下,我找到了Python的源码。 https://github.com/python/cpython

    Python的官方实现是C语言,所以叫cpython。这也就意味着只要Python还在,C就会不消失。其他实现还有jython(Java), IronPython (.Net), PyPy (Python)。

    第一件事情要搞清楚的是Python中int类型在cpython的名字是什么?看了半天,在 longobject.h 中发现了一个叫 PyLongObject 的结构体。然而它只是一个马甲,是 _longobject的别名。在longintrepr.h中找到了 _longobject的定义如下:

    1

    2

    3

    4

    struct_longobject{

    PyObject_VAR_HEAD

    digitob_digit[1];

    };

    在文件的开头就看到了typedef uint32_t digit;,digit就是unit32_t, 每个元素占4个字节。但PyObject_VAR_HEAD又是什么鬼?在object.h中发现了它是个宏,上面的注释倒是挺有意思的。

    1

    2

    3

    4

    5

    6

    7

    /* PyObject_VAR_HEAD defines the initial segment of all variable-size

    container objects. These end with a declaration of an array with 1

    element, but enough space is malloc'ed so that the array actually

    has room for ob_size elements. Note that ob_size is an element count,

    not necessarily a byte count.

    */

    definePyObject_VAR_HEADPyVarObjectob_base;

    等一下,PyVarObject又是什么?还好定义就在下面。

    1

    2

    3

    4

    typedefstruct{

    PyObjectob_base;

    Py_ssize_tob_size;/* Number of items in variable part */

    }PyVarObject;

    又一层嵌套,是不是已经晕了,继续查看PyObject的定义,这次反而在上面了。

    1

    2

    3

    4

    5

    typedefstruct_object{

    _PyObject_HEAD_EXTRA

    Py_ssize_tob_refcnt;

    struct_typeobject *ob_type;

    }PyObject;

    有完没完啊?_PyObject_HEAD_EXTRA又是什么?看了一下发现它只在debug build中有定义,这里就不展开了。Py_ssize_t等于ssize_t如果有定义的话, ssize_t在64位的机器上就是long。_typeobject又是什么?感觉应该非常大,不然就不会用指针了。不过话说回来,既然用了指针,我又何必去关心它是什么呢?反正就是8个字节而已,指向一个内存地址。至此真相大了一个白,如果我们把structs flatten, PyLongObject 定义如下:

    1

    2

    3

    4

    5

    6

    structPyLongObject{

    longob_refcnt;// 8 bytes

    struct_typeobject *ob_type;// 8 bytes

    longob_size;// 8 bytes

    unsignedintob_digit[1];// 4 bytes * abs(ob_size)

    };

    ob_refcnt引用计数 8个字节,ob_type类型信息 8个字节(指针),ob_size变长部分元素的个数,8个字节。ob_digit变长的数据部分,字节数为4*abs(ob_size),ob_size可以为0,所以最少8+8+8=24字节,每次增量都是4 (unsigned int) 的倍数。这和我们之前观察到的实验结果吻合。

    以上都是基于64位的Python,对于32位的版本,定义如下:

    1

    2

    3

    4

    5

    6

    structPyLongObject{

    intob_refcnt;// 4 bytes

    struct_typeobject *ob_type;// 4 bytes

    intob_size;// 4 bytes

    unsignedshortob_digit[1];// 2 bytes * abs(ob_size)

    };

    32位就要比64位小很多了,最少12个字节,增量为2个字节。

    好了,今天就写到这里。相信你对整型数或者Python有了一个新的认识。下面一篇我们会将会介绍整型数在Python中的表示和计算。

    展开全文
  • 中文标点占三个字节一个英文字母占一个字节,英文标点占一个字节一个数字占个字节 字节的换算关系为: 1字节(Byte)=8字位=8个二进制数 1字位(bit)=1个二进制数 1B=8b 1KB=1024B 1MB=1024KB 1GB=...
  • Java Int 占几个字节

    2022-03-07 16:56:40
    Java Int 占几个字节
  • mysql一个汉字占几个字节

    千次阅读 2017-09-11 11:00:20
    varchar(N), 这里的N是指字符数,并不是字节数.占用的字节数与编码有关 utf-8, 一个汉字3字节 英文字母1字节
  • Java一个汉字占几个字节(详解与原理)(转载)

    万次阅读 多人点赞 2019-05-29 23:33:35
    今天学习Netty做定长消息发送时,发现到UTF-8编码下的中文并非两个字节,是三个字节,omg~,遂翻了篇博客后才发现原来java中文对应的字节长度还有这么多说道,涨姿势了,咳咳~ 原文如下: 忒长了,原文作者大大辛苦...
  • float占几个字节

    千次阅读 2021-03-06 18:54:00
    float类型占用4字节内存,表示小数,数据范围在【-2^128 ~ 2^128】【-3.40E+38 ~ +3.40E+38 】之间;float数据类型用于存储单精度浮点数或双精度浮点数。float类型占用4字节内存,表示小数,数据范围在-2^128 ~ 2^...
  • java中字符串占几个字节

    千次阅读 2021-02-12 20:00:12
    首先,char为Java的基本类型,基本类型所的字节数是固定的,如int4字节,double8字节,这可以使得Java在不同的平台上所...在String中,一个英文字符1个字节,而中文字符根据编码的不同所字节数也不同。...
  • java基本数据类型各多少字节

    千次阅读 2021-03-13 19:13:03
    Java一共有8种基本数据类型:int4字节,short2字节,long8字节,byte1字节,float4字节,double8字节,char2字节,boolean1字节。Java一共有8种基本数据类型(原始数据类型):类型 存储要求 范围...
  • JAVA各种类型各多少字节,多少位

    千次阅读 2021-02-26 10:35:39
    JAVA各种类型各多少字节,多少位在Java中一共...(一个字节等于8个bit)int 类型32个字节; 4 位;short 类型16个字节; 2位;long 类型64个字节; 8位;float 类型32个字节; 4位;double 类型64个字节; ...
  • java中char占几个字节

    千次阅读 2021-02-12 15:02:54
    java中char占几个字节?java中的一个char占用2个字节。java采用unicode,2个字节来表示一个字符。 一个数字或英文或汉字都是一个字符,只不过数字和英文时,存储的2个字节的第一个字节都为0,就是浪费了点空间。存...
  • 中国字比较复杂,1字节=8位,8位从0000 0000到1111 1111只能表示256个字符,2个字节是2*8=16位,从0000 0000 0000 0000到1111 1111 1111 1111可以表示65535个字符。 6万多个足以表示我们经常用的那些字了。所以我们...
  • 一个字符占几个字节

    千次阅读 2020-12-10 00:56:32
     一个英文字母(不分大小写)个字节的空间,一个中文汉字个字节的空间。一个二进制数字序列,在计算机中作为一个数字单元,一般为8位二进制数,换算为十进制。最小值0,最大值255。如一个ASCII码就是一...
  • python中int类型了多少个字节

    千次阅读 2021-02-02 23:14:15
    python中int类型了多少个字节发布时间:2020-11-20 14:04:35来源:亿速云阅读:73作者:小新小编给大家分享一下python中int类型了多少个字节,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,...
  • oracle数据库一个汉字占几个字节

    千次阅读 2019-10-17 09:39:59
    ***和数据库的编码有关系*** 1、数据库编码查询sql: 1)、SELECT value$ FROM sys.props$ WHERE name = 'NLS_... ZHS16GBK:一个汉字占用2个字节 AL32UTF8:一个汉字占用3个字节 2)、select userenv...
  • 一:1个汉字 = 1个字 = 1个字符二:1个字符 = 1个字节 = 8bit(ACSII码下)三:1个字符 = 2个字节 = 16bit(Unicode码下)以前一直使用oracle11g,一个汉字3个字节,所以在操作MySQL时也一直这样分配长度。今天测试了...
  • 一个字节几个二进制位组成

    千次阅读 2021-07-03 05:36:14
    聊到几个,我们许多人都了解,有人问一个字节由几多个二进制位组成,还有朋友想问一个字节几个二进制位构成,这到底怎么回事呢?事实上在计算机中一个字节几个二进制位构成呢,小编为各人带来一个字节几个二...
  • UTF-8编码占几个字节?

    千次阅读 2021-12-08 09:44:36
    占2个字节的:带有附加符号的拉丁文、希腊文、西里尔字母、亚美尼亚语、希伯来文...一个utf8数字占1个字节 一个utf8英文字母占1个字节 少数是汉字每个占用3个字节,多数占用4个字节。 占用3个字节的范围 U+2E80 -
  • 一个汉字在数据库占几个字节

    千次阅读 2021-01-19 04:42:25
    项目中oracle10g数据库表字段为...UTF-8字符集,一个汉字个字节,gbk字符集,一个汉字个字节,比如varchar(10)类型的字段,UTF-8的汉字,只能存3个,gbk字符集的汉字却能存5个。所以在程序中根据表字段varch...
  • javascript中一个字符占几个字节

    千次阅读 2019-01-23 10:23:01
    一般来说英文是1,中文是两。但是会根据编码方式不同而不同。以下是搬运: 英文字母和中文汉字在不同字符集编码下的字节数 英文字母: 字节数 : 1;编码:GB2312 字节数 : 1;编码:GBK 字节数 : 1;编码:GB18030 ...
  • int占几个字节

    千次阅读 2021-05-22 17:12:39
    手机评站网今天精心准备的是《int占几个字节》,下面是详解!int占多少字节?int有shortint,int,longint三种形式,它们分别占多少字节?如果只输入int,它是不是可以包含以上三种形式?...int有short int,int,...
  • 展开全部一个英文字符等于1...在多数的计算机系统中,一个字节一个8位长的数据单位,大多数的计算机用一个字节表示一个字符、数字或其他字符。一个字节通常8位长,在计算机中作为1个数字单元,一般为8位二进制数...
  • 一个汉字到底占几个字节

    千次阅读 2020-08-12 16:31:47
    总结:这和编码有关,UTF8一个汉字3个字节,GBK一个汉字2个字节。 当我上第一节计算机课的时候,我的电脑老师跟我说,一个英文字符是1个字节一个中文是2个字节。这么多年来,我对此一直坚信不移,相信很多人也...
  • 字符串在Python内部是如何省内存的

    千次阅读 2020-12-09 18:30:27
    每个标准 Unicode 字符占用 4 个字节。这对于内存来说,无疑是种浪费。Unicode 是表示了种字符集,而为了传输方便,衍生出里如 utf8 , utf16 等编码方案来节省存储空间。Python内部存储字符串也采用了类似的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 82,700
精华内容 33,080
关键字:

一个数字占几个字节

友情链接: java_message_field.rar