恶补计算机基础知识 补码 进制 基本数据类型字节

来源:互联网 发布:多益网络 收入 编辑:程序博客网 时间:2024/06/16 12:04

补码:

1.数据在计算机是以补码的形式存放的;反码:符号除外,其余变反;

2.正数的补码是自身,负数的补码是反码加1;(例如  int  x=3;  在32位系统存为0000 0000 0000 0000 0000 0000 0000 0011; int x=-3; 在32位系统存为 1111 1111 1111 1111 1111 1111 1111 1101;(-3的反码加1));

3.在有符号型字符中,如果计算机存储为  1111 1111 1111 1010 ,该数实际为  -6; (首先,首位是1,表示是个负数,再求其反码+1)反码:符号除外,其余变反;

如果计算机存储为0000 0000 0000 0111,则该数为7(正数补码为自身);


数据溢出:

int x=0x123456789;    (发生溢出,16进制,一个数占四位,int型32共32个位,实际x存储的为0x23456789 八位,高位溢出)

char *P=&x;                 //char 8位

printf("%x ,%x",p[0],p[1]);              (输出结果为FFFFFF89,67)


进制:16进制0x或0X,8进制 0(0都是零)


c++基本数据类型长度:short int(2字节);     int(4字节) ;      long int(4字节) ;   char(1字节) ;   float(4字节) ;   double(8字节) ;  long double(8字节) ; bool(1位) ;所有类型指针类型4个字节(32位系统,遍历整个内存)

java中八大基本数据类型字节  byte(1字节) ;short(2字节);  int(4字节) ;  long(8字节); float(4字节) ;double(1字节8) ;char(2字节) ;boolean(1位)
0 0