逻辑运算与位运算
位运算
像蓝色与绿色结果为 011 变为蓝绿色
逻辑运算
逻辑运算只有是非零的数就是 true 为0则为false;
总结:位运算有具体的值 而逻辑运算只有0和1的区别 。两者相同的情况是只有两个是二进制是一位。
整数的表示
32位和64位计算机的最大区别主要有:
1. 地址空间大小
32位计算机的寻址空间最大为4GB,64位计算机的寻址空间可以达到16EB。这意味着64位计算机可以支持更大的物理内存。
2. 寄存器和汇编指令长度
32位计算机的寄存器和汇编指令长度为32位,64位计算机为64位。这使得64位计算机可以在单次操作中处理更多的数据。
3. 操作数的数据类型
32位计算机的原生数据类型为32位,如int等。64位计算机增加了64位的long和指针类型,可以更高效地进行64位运算。
4. 兼容性
大多数64位CPU可以兼容运行32位代码。但是32位CPU无法运行64位代码。
5. 内存寻址
32位计算机最大可以寻址4GB内存空间,64位计算机可以寻址超过16EB的内存空间。
6. 安全性
64位计算机提供了更高的安全性,如增加寄存器长度来防止缓冲区溢出。
7. 性能
64位计算机的运算性能更强,可以更好支持数据密集型和计算密集型应用。
综上,64位计算机在地址空间、性能等各方面都优于32位计算机。这使得64位计算机可以支持更大和更复杂的应用。
12345的二进制表示是 0011 0000 0011 1001
补码为 1100 1111 1100 0111
12345的补码为 -12345的二进制形式
当1100 1111 1100 0111作为一个无符号数时数值为:-12345+32768+32768=53191
当53191的二机制加上12345的值减一时为1111 1111 1111 1111为 INT_MAX 就是 65535
不减一的话为 0; 变为0000 0000 0000 0000;说明一个数的源码加补码为0;