int8与int16_将int型转为char型

int8与int16_将int型转为char型工作中经常碰到int8_t、int16_t、int32_t、int64_t、uint8_t、size_t、ssize_t等数据类型,所以有必要对此进行梳理。int_t同类int_t为一个结构的标注,可以理解为type/typedef的缩写,表示它是通过typedef定义的,而不是一种新的数据类型。因为跨平台,不同的平台会有不同的字长,所以利用预编译和typedef可以最有效的维护代码。…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

工作中经常碰到int8_t、int16_t、int32_t、int64_t、uint8_t、size_t、ssize_t等数据类型,所以有必要对此进行梳理。

int_t同类

int_t 为一个结构的标注,可以理解为type/typedef的缩写,表示它是通过typedef定义的,而不是一种新的数据类型。因为跨平台,不同的平台会有不同的字长,所以利用预编译和typedef可以最有效的维护代码。

  •  int8_t      : typedef signed char;
  •  uint8_t    : typedef unsigned char;
  •  int16_t    : typedef signed short ;
  •  uint16_t  : typedef unsigned short ;
  •  int32_t    : typedef signed int;
  •  uint32_t  : typedef unsigned int;
  •  int64_t    : typedef signed  long long;
  •  uint64_t  : typedef unsigned long long;
Specifier Common Equivalent Signing Bits Bytes Minimum Value Maximum Value
int8_t signed char Signed 8 1 -128 127
uint8_t unsigned char Unsigned 8 1 0 255
int16_t short Signed 16 2 -32,768 32,767
uint16_t unsigned short Unsigned 16 2 0 65,535
int32_t int Signed 32 4 -2,147,483,648 2,147,483,647
uint32_t unsigned int Unsigned 32 4 0 4,294,967,295
int64_t long long Signed 64 8 -9,223,372,036,854,775,808 9,223,372,036,854,775,807
uint64_t unsigned long long Unsigned 64 8 0 18,446,744,073,709,551,615

size_t与ssize_t

size_t主要用于计数,如sizeof函数返回值类型即为size_t。在不同位的机器中所占的位数也不同,size_t是无符号数,ssize_t是有符号数。

  • 在32位机器中定义为:typedef  unsigned int size_t; (4个字节)
  • 在64位机器中定义为:typedef  unsigned long size_t;(8个字节)

由于size_t是无符号数,因此,当变量有可能为负数时,必须使用ssize_t。因为当有符号整型和无符号整型进行运算时,有符号整型会先自动转化成无符号。

int main()
{
    unsigned short a;
    short int b = -1;
    a = b;
    cout << "b=" << b << endl;  //b=-1
    cout << "a=" << a << endl;  //a=65535
}

此外,int 无论在32位还是64位机器中,都是4个字节, 且带符号,可见size_t与int 的区别之处。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/170530.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • java内部类和静态内部类区别_静态内部类对象的创建

    java内部类和静态内部类区别_静态内部类对象的创建在阅读JavaCollectionFramwork时,LinkedList中有个静态内部类:privatestaticclassNode&lt;E&gt;{Eitem;Node&lt;E&gt;next;Node&lt;E&gt;prev;Node(Node&lt;E&gt;prev,Eelem…

    2022年10月11日
  • 无名汉化组官网_neverland永无岛

    无名汉化组官网_neverland永无岛永无乡包含 n 座岛,编号从 1 到 n ,每座岛都有自己的独一无二的重要度,按照重要度可以将这 n 座岛排名,名次用 1 到 n 来表示。某些岛之间由巨大的桥连接,通过桥可以从一个岛到达另一个岛。如果从岛 a 出发经过若干座(含 0 座)桥可以到达岛 b ,则称岛 a 和岛 b 是连通的。现在有两种操作:B x y 表示在岛 x 与岛 y 之间修建一座新桥。Q x k 表示询问当前与岛 x 连通的所有岛中第 k 重要的是哪座岛,即所有与岛 x 连通的岛中重要度排名第 k 小的岛是哪座,请你输出那

  • 遍历map的四种方法

    遍历map的四种方法 Map.entrySet()这个方法返回的是一个Set<Map.Entry<K,V>>,Map.Entry是Map中的一个接口,他的用途是表示一个映射项(里面有Key和Value),而Set<Map.Entry<K,V>>表示一个映射项的Set。Map.Entry里有相应的getKey和getValue方法,即JavaBean,让我们能够从一个项中取出…

  • 基于jQuery的自适应图片左右切换

    效果预览:http://hovertree.com/code/jquery/smjv6d0n.htm基于jQuery编写的横向自适应幻灯片切换特效全屏自适应jquery焦点图切换特效,在IE6这个

    2021年12月21日
  • 五大常用算法总结_常用的基本算法有

    五大常用算法总结_常用的基本算法有引言据说有人归纳了计算机的五大常用算法,它们是贪婪算法,动态规划算法,分治算法,回溯算法以及分支限界算法。虽然不知道为何要将这五个算法归为最常用的算法,但是毫无疑问,这五个算法是有很多应用场景的,最优化问题大多可以利用这些算法解决。算法的本质就是解决问题。当数据量比较小时,其实根本就不需要什么算法,写一些for循环完全就可以很快速的搞定了,但是当数据量比较大,场景比较复杂的时候,编写for循环

  • Iocomp .NET WinForms OPC Crack「建议收藏」

    Iocomp .NET WinForms OPC Crack「建议收藏」Iocomp.NETWinFormsOPC包Iocomp.NETWinFormsOPCPack是一款独立产品,可将OPC功能添加到任何.NET控件。Ω578867473它还包括连接到Iocomp.NETWinForm控件上的复杂属性的高级功能。所有许可证购买都包括1年支持和维护。支持32位和64位Window操作系统。内置自定义属性编辑器,便于设置。100%托管代码与所有.NET语言兼容。所有属性、方法和事件的完整代码示例Io

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号