二进制与16进制详解:补码与位运算
需积分: 5 145 浏览量
更新于2024-08-05
收藏 3KB TXT 举报
"这篇文字笔记主要涵盖了二进制、十六进制、补码以及位运算等计算机基础概念。"
在计算机科学中,二进制是一种基础的数字系统,它的计数规则是逢二进一。将二进制转化为十进制的方法是通过权重求和,每个位上的1乘以2的对应次幂。例如,二进制数1101转换为十进制就是1*2^3 + 1*2^2 + 0*2^1 + 1*2^0 = 8 + 4 + 0 + 1 = 13。笔记提到练习了0到20之间的随机数,手工计算其十进制值并用程序验证。
十六进制是一种更高效的表示二进制的方式,因为它基于16这个基数,每4位二进制可以表示一个十六进制数字。例如,二进制数10110101对应于十六进制的B5。十六进制常用于简化二进制数字的书写,特别是在编程中,通常以0x作为前缀来标识这是一个十六进制数值。同样,0b前缀表示二进制数,而0开头表示八进制,但在某些编程语言中,如C/C++,八进制前缀是0而不是0o,需要注意的是八进制不包含数字8。
补码是计算机中表示有符号整数的一种方法,特别是在处理正负数时。对于负数,其补码是该数的二进制表示取反后再加1。例如,二进制11111111111111111111111111111111的补码表示-1,而11111111111111111111111110011001的补码表示-199。这种编码方式允许用相同的操作处理正负数,如加法和减法。
位运算在计算机中扮演着重要角色,包括:
1. ~取反运算:对一个数的所有位进行翻转,即0变1,1变0。
2. &与运算:按位与,两个数对应位都为1时,结果位才为1。
3. |或运算:按位或,两个数对应位至少有一个为1时,结果位为1。
4. >>>右移位运算:无符号右移,空出的位填充0,相当于除以2的幂次。
5. >>数学右移位运算:有符号右移,根据数值的符号填充0(正数)或1(负数),相当于除以2的幂次。
6. <<左移位运算:所有位向左移动指定的位数,右边空出的位用0填充,相当于乘以2的幂次。
位运算在编程中用于高效地处理数据,例如,通过与运算和掩码(mask)可以方便地提取或修改二进制数的特定位,这对于数据处理和内存操作至关重要。
2023-04-27 上传
2021-09-23 上传
2013-06-04 上传
2018-05-15 上传
2019-04-01 上传
点击了解资源详情
2024-12-23 上传