java - Java 中的 C 数据类型

标签 java c type-conversion

我有一个 C 语言应用程序,需要将其重新编写为 Java。我的数据类型有问题。我不确定哪种数据类型与 Java 中的 C 数据类型相同。

我需要在 java 编程语言中找出相同的数据类型。

  • 无符号字符
  • 无符号短
  • 短整型
  • 无符号长整型

最佳答案

我会根据您需要的范围来选择一些内容

  • byte:字节数据类型是一个 8 位有符号二进制补码整数。它的最小值为 -128,最大值为 127(含)。字节数据类型对于节省大型数组中的内存非常有用,这对于节省内存实际上很重要。它们也可以用来代替 int,它们的限制有助于澄清您的代码;变量的范围是有限的这一事实可以作为一种文档形式。

  • int:默认情况下,int数据类型是32位有符号二进制补码整数,最小值为-2^31,最大值为2^31 - 1. 在 Java SE 8 及更高版本中,可以使用 int 数据类型来表示无符号 32 位整数,其最小值为 0,最大值为 2^32 - 1. 使用 Integer 类来使用int 数据类型作为无符号整数。有关详细信息,请参阅数字类别部分。 Integer类中添加了compareUnsigned、divideUnsigned等静态方法,以支持无符号整数的算术运算。

  • char:char 数据类型是单个 16 位 Unicode 字符。它的最小值为“\u0000”(或 0),最大值为“\uffff”(或 65,535(含))。

  • long:long 数据类型是 64 位二进制补码整数。有符号 long 的最小值为 -2^63,最大值为 2^63 - 1。在 Java SE 8 及更高版本中,可以使用 long 数据类型来表示无符号 64 位 long,其最小值值为 0,最大值为 2^64 - 1。当您需要比 int 提供的值范围更宽的值范围时,请使用此数据类型。 Long 类还包含compareUnsigned、divideUnsigned 等方法来支持unsigned long 的算术运算。

  • short:short 数据类型是 16 位有符号二进制补码整数。它的最小值为 -32,768,最大值为 32,767(含)。与字节一样,适用相同的准则:在内存节省实际上很重要的情况下,您可以使用短整型来节省大型数组中的内存。

引用:http://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html

关于java - Java 中的 C 数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25959367/

相关文章:

c - 如何动态填充指向我创建的结构的指针数组?

objective-c - 尖峰去除算法

c++ - C++ 中的字符串到 double 转换

java - liferay "Failed to load resource: net::ERR_CONTENT_LENGTH_MISMATCH"用于图像(即使是来自 DLFileEntry 对象的小图像)

java - 在浮点和整数数组中查找最大元素索引的常用方法

c - 为什么我的 DEBUG_PRINT 宏没有在包含它的 c 文件中被调用

C编程求二维数组的长度

c - 将 2 个 sint16s 样本表示为单个 uint32 样本

java - 无法在 Android 中的 FTP 服务器上上传文件

Java Scanner 读取空格时出错