Java语言是静态类型的(statical typed),也就是说所有变量和表达式的类型再编译时就已经完全确定.由于是statical typed,导致Java语言也是强类型(Strong typed)的.强类型意味着每个变量都具有一种类型,每个表达式具有一种类型,并且每种类型都是严格定义的,类型限制了变量可以hold哪些值,表达式最终产生什么值.同时限制了这些值可以进行的操作类型以及操作的具体方式.所有的赋值操作,无论是显式的还是在方法调用中通过参数传递,都要进行类型兼容性检查. Java的数…
原文网址:http://www.xuebuyuan.com/988752.html java byte与其他数据类型的转换主要用于二进制数据的编码和解码,主要用于网络传输,读写二进制文件,java和c++服务器之间的数据通信等等 以下是总结的源码 /** * BYTE转INT * * @param b * @return */ protected int byteArrayToInt(byte[] b) { return (b[0] << 24) + ((b[1] & 0xFF) &l…
文章要讨论的是两部分: 1. 原码,反码和补码. 2. short, unsigned short, int, unsigned int, long, unsigned long的表示及转换 1. 原码,反码和补码 原码是最直观的表示方式:最高位表示符号(0表示正,1表示负),其余位表示大小.假设占位为1字节的数,原码表示的范围就是[-127 ~ 127]一共255个数字.理论上8个bit可以表示256个数,我们只能表示255个,是原码的设计让10000000和00000000都可以表示0.[1…
强制类型转换形式:(类型说明符) (表达式) 举例说明:1) int a; a = (int)1.9; 2)char *b; int *p; p = (int *) b; //将b的值强制转换为指向整型数据的指针类型,后赋给p 注示:类型说明符和表达式都必须加括号,表达式为单个变量可不加括号. 总结:只要看到(类型说明符) (表达式) 的一定为强制类型转换:如(int *) 0x0022; 再举一例:#define DIR *((volatile unsigned int *) 0x0022)…
这是一道面试题可以用以下的一些方案.第一种是很容易想到的采用循环的方式并且与1进行位与运算,具体代码如下.  1unsigned int GetBitNumOfOne_ByLoop1(unsigned int nValue) 2{ 3 const unsigned int nNumOfBitInByte = 8; 4 unsigned int nBitMask = 1; 5 unsigned int nBitNum = 0; 6 for(unsigned int i = 0 ; i < size…
http://darksleep.com/player/JavaAndUnsignedTypes.html —————————————————————————————————————————————————————————————— Java and unsigned int, unsigned short, unsigned byte, unsigned long, etc. (Or rather, the lack thereof) Written by Sean R. Owens, sea…
转载:http://www.cppblog.com/xyjzsh/archive/2010/10/20/130554.aspx?opt=admin   int类型比较特殊,具体的字节数同机器字长和编译器有关.如果要保证移植性,尽量用__int16 __int32 __int64吧 __int16.__int32这种数据类型在所有平台下都分配相同的字节.所以在移植上不存在问题. 所谓的不可移植是指:在一个平台上编写的代码无法拿到另一个平台上运行时,不能达到期望的运行结果. 例如:在32为平台上(所…
int类型比较特殊,具体的字节数同机器字长和编译器有关.如果要保证移植性,尽量用__int16 __int32 __int64吧__int16.__int32这种数据类型在所有平台下都分配相同的字节.所以在移植上不存在问题.所谓的不可移植是指:在一个平台上编写的代码无法拿到另一个平台上运行时,不能达到期望的运行结果.例如:在32为平台上(所谓32位平台是指通用寄存器的数据宽度是32)编写代码,int 类型分配4个字节,而在16位平台是则分配2个字节,那么在16位上编译出来的exe,其中是为int…
昨天困惑一件事,就是手里有个string类型的字符串,像01 23 45 67 89 AB CD EF,根据空格拆分为一个个的子字符串后(如EF),需要放到一个BYTE(typedef unsigned char)类型数组中,该怎么放呢? 首先BYTE是个什么类型? BYTE即unsigned char,说白了就是0-255的数字.visual studio里为什么专门定义了一个BYTE呢? 个人理解,因为默认如果你定义一个char myChar, 那myChar类型就默认是signed cha…
就如同int a:一样,int 也能被其它的修饰符修饰.除void类型外,基本数据类型之前都可以加各种类型修饰符,类型修饰符有如下四种:1.signed----有符号,可修饰char.int.Int是默认有符号的.2.unsigned-----无符号,修饰int .char3.long------长型,修饰int .double4.short------短型,修饰int 我们主要来看一下signed和unsigned与int之间的联系与区别.什么叫做有符号,什么叫做无符号这个问题其实很简单,比如…