首页 > 其他分享 >类型长度

类型长度

时间:2023-04-03 20:23:51浏览次数:26  
标签:10 0000 字节 int 32 long 类型 长度

基础知识

一字节8位 = 8bit
如32位机器,那么这32位就代表一个

  • 什么叫一个字
    • 如:你输入的某个数字,如'1'就表示一个字,在机器中占有32位,这32位为4字节,这4个字节就表示一个字
    • 但是不一定是8个字节表示一个字,要看为多少字节的机器,如果是64位机器,就是8字节表示一个字
    • 总之就是在n位机器上n位就是一个字,\(\frac{n}{8}\)表示一个多少个字节

类型长度

这里用c语言为例:

类型 字节 具体范围
char/signed char 1 -128 ~ 127
unsigned char 1 0~255
short int / signed short int 2 -32768 ~ 32767
unsigned short 2 0~65,535
int / signed int 4 -2,147,483,648~2,147,483,647
unsigned int 4 0~4,294,967,295
long long int/long long 8 -9,223,372,036,854,775,808~9,223,372,036,854,775,807
float 4 \(-3.4\)x\(10^{38}\) ~ \(3.4\)x\(10^{38}\)
double 8 \(-1.7\)x\(10^{308}\) ~ \(1.7\)x\(10^{308}\)
long double 8 \(-1.7\)x\(10^{308}\) ~ \(1.7\)x\(10^{308}\)
long int /long 32位4字节 64 = 8 -2,147,483,648~2,147,483,647
unsigned long 32位4 64位8 0~4,294,967,295
指针 32位4 64位8字节

测试程序

#include <stdio.h>
#include <string>
int main() {
    printf("%d", sizeof(int));//填入类型名字
    return 0;
}

关于怎么算出的具体范围

下面用int举例

众所周知一个int4字节 那么就是占用32位 因为是signed int 默认有符号

所以一个符号位占领最高位 其实表示具体的数只有31位

每位可以表示0/1,那么可以表示\(2^{31}\)次 = 2147483648
因为正数中有全零的情况所以是2147483648 - 1就只有 2147483647

所以就范围位-2147483648 ~ 2147483647

测试验证

#include<stdio.h>
int main() {
    int a = 2147483648;//溢出导致最高位符号位为1变成负数
    //2147483647 补码0111 1111 1111 1111 1111 1111 1111 1111
    //1      补码0000 0000 0000 0000 0000 0000 0000 0001
    //得到      补码   1000 0000 0000 0000 0000 0000 0000 0000 (10进制就是-2147483648)
    printf("%d",a);
}

标签:10,0000,字节,int,32,long,类型,长度
From: https://www.cnblogs.com/tsqo/p/17284259.html

相关文章

  • c++类型推导
    传统c和c++中,无论什么变量都应该先去声明其类型,指出其类型后才能进行下一步操作,这通常会花费很多无意义的时间。c++11引入了auto 和 decltype 这两个关键字实现了类型推导,让编译器来操心变量的类型。这使得C++也具有了和其他现代编程语言一样,某种意义上提供了无需操心变量类......
  • PL/SQL 基础---复杂数据类型和自定义类型
    原文地址:https://blog.csdn.net/villare/article/details/53437924PL/SQL基础—复杂数据类型和自定义类型PLSQL中常用的自定义类型就两种:记录类型、PLSQL内存表类型(根据表中的数据字段的简单和复杂程度又可分别实现类似于简单数组和记录数组的功能)除此之外,还有大对象类型:CLOB......
  • TypeScript 学习笔记 — 基于对象操作的内置类型的使用(十二)
    目录1.Partial转化可选属性(?)2.Required转化必填属性(-?)3.Readonly转化仅读属性(readonly)Mutate(非内置,与Readonly相对)(-readonly)4.Pick挑选所需的属性5.Omit忽略属性在前几章的笔记中,了解了以下几种内置类型:条件类型相关:Exclude排除类型(差集),Extract抽取......
  • C语言-变量的存储类型
    0存储类型是指变量占用内存空间的方式,也称为存储方式。从内存分配的时间上,可分为“静态存储”和“动态存储”类。  0.1静态存储:在程序前,系统(编译器)自动分配内,程序结束后,系统(编译器)自动释放。  0.2动态存储:在程序执行时;根据需要手动分配内存,使用完成后再手动释放。1C......
  • Java-Day-2(转义字符 + 注释 + 代码规范 + 变量 + 数据类型)
    Java-Day-2常用转义字符代码中只一个\会默认转义(写在“”里)\t:制表位,可以实现对齐功能,可以看作有一个无形表框(上下两行长度相差不大)\n:换行符,仅换代码行的话\\:一个\,想输出"\\"就要输入四个\\'':一个“,字符串里输出双引号\':一个‘\r:一个回车,光标......
  • 逍遥自在学C语言 | 变量、常量与数据类型
    前言一、人物简介第一位闪亮登场,有请今后会一直教我们C语言的老师——自在。第二位上场的是和我们一起学习的小白程序猿——逍遥。二、基本数据类型1、整型C语言中的整型数据如下表所示:数据类型含义长度(字节)取值范围(有符号)取值范围(无符号)shor......
  • 要用好json,掌握好json的类型
    SON是用于Web上数据交换的最广泛使用的数据格式。它完全独立于语言。基于JavaScript编程语言的一个子集,易于理解和生成。那json的数据类型有哪些?接下来我们就来给大家讲解一下这方面的内容。JSON主要支持6种数据类型:字符串(String):JSON字符串必须用双引号编写,如C语言,JSON中有各......
  • go复杂数据类型 结构体
    前言:Go语言中没有“类”的概念,也不支持“类”的继承等面向对象的概念。通过结构体的方式来实现了面向对象,去除了传统的oop语法,继承,重载,构造,析构,隐藏this的特性,仍然有面向对象三大特性,实现和面向对象方法有所不同,没有extends关键字,结构体的内嵌配合接口比面向对象具有更......
  • JDBC驱动类型
    1.JDBC-ODBCBridgeDriverSUN发布JDBC规范时,市场上可用的JDBC驱动程序并不多,但是已经逐渐成熟的ODBC方案使得通过ODBC驱动程序几乎可以连接所有类型的数据源。所以SUN发布了JDBC-ODBC的桥接驱动,利用现成的ODBC架构将JDBC调用转换为ODBC调用,避免了JDBC无驱动可用的窘境,如图2-6所示......
  • Demo03 数据类型 类型转换 内存溢出
    关键字数据类型java是强类型语言要求变量的使用要严格符合规定,所有变量都要先定义后才能使用 Java的数据类型分为两大类基本类型(primitivetype)引用类型(referencetype)  publicclassDemo02{   publicstaticvoidmain(String[]args){   ......