1.八个二进制位 第一个位是1为负
0000 0000 第一个位是符号位,是0为正。
2.负数计算
1000 1010->十进制?
原码 1000 1010
反码 1111 0101(符号位不参与计算)
补码 0111 0110(最后一位加1)
正数:原码==补码
补码:1111 1110
原码:1000 0010
十进制:-23.
十进制=>二进制
辗转相除法
分解法:
a.-100的二进制形式:// 1001 1100
b.二进制 1001 0111的十进制? //-105 //(1001 0111是补码)
c.13的二进制?//0000 1101
八进制=> 八进制标志 在c程序中在数据 前加0
二进制=>八进制
八进制=>二进制
0x15101 十六进制 “0x”
超过10会歧义,所以从10开始为a~f
所以应该是0xfa1
“计算机内进行数值运算时,都是按照二进制的补码形式计算的。
每次进制计算时,都要知道前提是多少位。例如8位或是16位或是32位。
计算机为什么以补码形式存放数据:
因为方便计算机硬件的实现,方便计算。(补码方便加法器实现。)
二、奇数偶数判断
num%2
num&0x1
eg:9(1001)&ox1(0001)按位与,结果为1,所以为奇数。
int a=10,b=20
不设临时变量互换a和b的值
1.a=a+b;b=a-b;a=a-b;
2.a=a^b b=a^b a=a^b;