计算机学习笔录

1.二进制算法:

35 = 100011 (2)

具体步骤:      35 / 2 =17======= 余1

                        17 / 2 = 8======= 余1

                        08 / 2 = 4======= 余0

                        04 / 2 = 1======= 余0

                        02 / 2 = 1======= 余0

                        01 / 2 = 1======= 余1

35以8位长:00100011                 16位长:00000000 00100011

2.两个十进制整数相加 在计算机中做二进制加法运算:

35 + 12 = 00100011 + 00001100        

             = 00101111

             = 101111 (2)

             = 47          

3.一个十进制负整数,表示成二进制:“取反加一”

        -15 = -1111 (2)

              = - 00001111

              =   11110000+1

              =   11110001            二进制中,以最高位是否0 来判断是否为正数

011111110                 ----------正数

10001101                  ----------负数        

所以: 最大正整数是  127, 即 0111 1111

            最小非负数是      0, 即 00000000

            绝对值最大的负整数是   -128 ,即 10000000

            最接近于 0 的负整数是   -1     ,即 11111111

             

4.减法:二进制补码运算在计算机中没有减法。

        3 - 5 = 00000011 - 00000101

                =  00000011 + 00000101

                =  11111110

                =   -00000010(2)

                =   -2

5.二进制乘法:        与十进制相同,各位相乘后,再相加,逢二进一

        3 * 5 =  00000011 *  00000101.                                          011

                =   00001111                                                            * 101

                =  15                                                               ----------------

                                                                                                   011 

                                                                                                000

                                                                                              011   =1111

6.二进制除法运算:

三条法则:  0 / 0 = 0;        0/1 = 0;  1/1=1;



例:   111011 (2) /  1011(2)         高位 101。余数100
类型字节数位数
char18
signed char18
unsigned char1
short int216
int432
long int432

位操作

操作符:<<  ,  >> , & , |  , ^ , ~

1.左移操作 <<.      a=12 ; a = a<<1;            000000001100    <<.    000000011000

2.右移操作>>.    short int a = -2;   a=a>>1         111111111110 >> 111111111111.    =-1

3.位与操作:     1 & 1 = 1;  0 & 1 = 0;  1 & 0 = 0;  0 & 0=0;

int a = 12;   //0000 0000 0000 1100
int b = 6;    //0000 0000 0000 0110
a = a & b;    //0000 0000 0000 0100   a=4

4.位或操作:      1 | 1= 1; 0 | 1 = 1; 1| 0 = 1; 0|0 = 0;

int a = 12;   //0000 0000 0000 1100
int b = 6;    //0000 0000 0000 0110
a = a | b;    //0000 0000 0000 1110   a=14

5.位异或操作:    0 ^ 0 = 0;  1 ^ 1=0;  0 ^ 1 = 1;  1 ^ 0 = 1;

int a = 12;   //0000 0000 0000 1100
int b = 6;    //0000 0000 0000 0110
a = a ^ b;    //0000 0000 0000 1010   a=10

6.位反操作:        0变1。 1变0

int a = 12; a = ~a;  a = -13; 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值