Low-level memory mechanics
C/C++类型 | 大小 |
---|---|
bool | 比较复杂,可以为1bit |
char | 1B |
short | 2B |
int | 4B |
long | 4B |
float | 4B |
double | 8B |
bit(binary digit)
1B可以有2^8=256个取值
ord(A)=65=64+1=0b01000001
然后讲了一些数字的表示方法,参见《计算机组成原理》
char ch='A';
int s=ch;
std::cout<<s<<std::endl;
/*s=65 将ch的bit位复制到s的右端,左端置为0*/
shrot s=67;//67=0b01000011
char ch=s;//s的右边8bits赋值给ch,左边的8bits丢弃
std::cout<<ch<<std::endl;//ch='C'
比较
int i=37;
float f=i;
int i=37;
float f=*(float *)&i;
/*比特位对应*/
float f=7.0;
short s=*(shart *)&f;
/*只有左边的为模式被复制*/