C++int型变量转换成一个byte
c++是兼容c语言的,因此c语言的编程对c++也适用,
int型的变量变成字节型(Byte),可以使用强制转换,使用方法如下:
int a=120;
a=(char)a;
那么a就会转化成了字节型(Byte型)
值得注意的是,int是双字节型的数,变成单字节的时候,高字节的数会自动省去。
int占一个机器字长。在32位系统中int占32位,也就是4个字节,而在老式的16位系统中,int占16位,即2个字节。而c++标准中只限制规定shortshort是固定的2字节,long是固定的4字节
int是不定的,可能是short(比如tc),可能是long(比如vc).
int:默认是signed的,可以互换。
char:大多数char在visual
c++6.0中int、short、long型各占多少字节?
int
,
long
:
32bits
=
4bytes
short,
16bits
=
2bytes
敲代码
printf("%d,%d,%d这跟机器字长有关,在16位机中,int是2字节,在32位机中,int是4字节,c/c++标准要求变量占用的空间满足
long
>=
int
>=
short
>=
char
即可word,dword,byte,byte是我读windows程序里面涉及到的数据类型。可能c++里面int
x,
n;
n
=
sizeof(x);
n的值就是结果。
变量占内存字节c++标准只规定int型数据所占的字节数不大于long型,不小于short型。你说的在32位机器上int和long是相同的,都是32位。下面是《c++
primer》中的描述scanf(“%d
%ld”,&a,&b)中a,b的数具体怎么办?请举个实例数!short
int
带符号2字节短整形
-
32768
~
32767
unsigned
int
无符号4字节
可以看到byte和short的取值范围比较小,而long的取值范围太大,占用的空间多,基本上int可以满足我们的日常的计算了,而且int也是使用的最多的整型类型了。
union B_I
{
unsigned char b[4];
int a;
} b_i;
int i;
b_i.a=51;
b_i.b就是你想要的
自动转换
int a=51;
char b=a;
http://baike.baidu.com/view/2886403.htm,百科看下,你最好还是多看看书
int i = 51;
unsigned char b = i;