关于Java与C类型的几个问题
2016-11-30 10:53
267 查看
1.Java byte类型
byte是Java的基础类型之一,它本身与int,char同属于一个级别,它是一个占一个字节(8bit)的整型;
byte是有符号数,范围在-128~127;
byte一般使用时可表示为十进制,八进制,十六进制;
2.一个字符数组可用byte[]来表示
由于基本ASCII码是由8位表示的,所以byte可用来表示所有基本ASCII字符,ASCII表如下:
3.这里来说一下计算机中的数据表示
我们通常所能看到的屏幕上的数据,是由编码表给我们展现的,实际上本身在计算机中存储的都是数,这个数我们说他是整型或者其他是由表示关系决定的;
于是比方说声明一个byte data = 12,
如byte是个ASCII字符,则其与int型可直接进制转换:
4.C语言函数memset memcpy
函数原型 void *memset(void *s, int ch, size_t n);
函数解释:将s中当前位置后面的n个字节 (typedef unsigned int size_t )用 ch 替换并返回 s ;
memset:作用是在一段内存块中填充某个给定的值,它是对较大的结构体或数组进行清零操作的一种最快方法;
函数原型 void *memcpy(void*dest, const void *src, size_t n);
功能 由src指向地址为起始地址的连续n个字节的数据复制到以destin指向地址为起始地址的空间内。
头文件 string.h
返回值 函数返回一个指向dest的指针;
5.itoa
char*itoa(int value,char*string,int radix);
int value 被转换的整数,char *string 转换后储存的字符数组,int radix 转换进制数,如2,8,10,16 进制等
这个不是C标准库中的函数,而是Windows平台下扩展的,标准库中有sprintf,功能比这个更强,用法跟printf类似:
char str[255];
sprintf(str, “%x”, 100); //将100转为16进制表示的字符串
byte是Java的基础类型之一,它本身与int,char同属于一个级别,它是一个占一个字节(8bit)的整型;
byte是有符号数,范围在-128~127;
byte一般使用时可表示为十进制,八进制,十六进制;
2.一个字符数组可用byte[]来表示
由于基本ASCII码是由8位表示的,所以byte可用来表示所有基本ASCII字符,ASCII表如下:
3.这里来说一下计算机中的数据表示
我们通常所能看到的屏幕上的数据,是由编码表给我们展现的,实际上本身在计算机中存储的都是数,这个数我们说他是整型或者其他是由表示关系决定的;
于是比方说声明一个byte data = 12,
如byte是个ASCII字符,则其与int型可直接进制转换:
int dataint = 12 byte databt = (byte)12; //或 databt = (byte)0x0B;
4.C语言函数memset memcpy
函数原型 void *memset(void *s, int ch, size_t n);
函数解释:将s中当前位置后面的n个字节 (typedef unsigned int size_t )用 ch 替换并返回 s ;
memset:作用是在一段内存块中填充某个给定的值,它是对较大的结构体或数组进行清零操作的一种最快方法;
函数原型 void *memcpy(void*dest, const void *src, size_t n);
功能 由src指向地址为起始地址的连续n个字节的数据复制到以destin指向地址为起始地址的空间内。
头文件 string.h
返回值 函数返回一个指向dest的指针;
char[] data = {'a','b','c,'d'}; unsigned char datacopy[5]; memset(datacopy, 0x00, sizeof(datacopy)); memcpy(datacopy, data, 4); //若只是字符型的复制可以使用strcpy,此处不讲
5.itoa
char*itoa(int value,char*string,int radix);
int value 被转换的整数,char *string 转换后储存的字符数组,int radix 转换进制数,如2,8,10,16 进制等
这个不是C标准库中的函数,而是Windows平台下扩展的,标准库中有sprintf,功能比这个更强,用法跟printf类似:
char str[255];
sprintf(str, “%x”, 100); //将100转为16进制表示的字符串
相关文章推荐
- 关于考试类型和成绩分析的几个问题
- java中几个常见的关于日期的问题
- JAVA中关于键盘输入的几个问题
- 两个有趣的关于java里基本类型转换的问题
- 关于java中Double类型的运算精度问题
- 关于java的几个困惑问题
- 关于java的几个困惑问题
- 关于ArrayList类型转换的问题_java可以为啥c#不行
- 关于Boolean类型在flex与java中间传递的问题
- 关于java中重载时返回值类型的问题
- 关于java中的几个问题(转载)
- Java 日期时间类型的几个问题总结[转]
- 今天遇到关于JAVA INTEGER类型的问题 不过还好 现在解决了,
- 关于Java读取mysql中date类型字段默认值'0000-00-00'的问题
- 关于java的几个困惑问题
- JAVA-近日遇到的java的日期时间类型的几个问题总结
- 关于在ORACLE下开发JAVA的几个问题
- 越深入java 就觉得java做得越烂,java设计问题 之 :关于1.5,1.6 java处理基本对象类型cache的问题
- 关于int类型的数据的几个问题
- 关于Flex 和java之间利用Blazeds通信的类型转换问题