
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Loi_Shirley/article/details/78232800
一、原码,反码,补码
1.几个定义
机器数:一个数在计算机中的二进制表示形式,带符号,最高位为符号位,正数为0,负数为1
真值:机器数的真正数值 符号位 -> 符号
原码:符号位 + 真值的绝对值
反码: 正数 == 自身
负数 == 符号位不变,其他位取反
补码: 正数 == 自身
负数 == 反码 + 1
根据几位二进制补位
例如八位二进制: [+1]原 = 0000 0001
2.几个常见
[+1] = [0000 0001]原 = [0000 0001]反 = [0000 0001]补
[-1] = [1000 0001]原 = [1111 1110]反 = [1111 1111]补
8位二进制, 使用原码或反码表示的范围为[-127, +127],
而使用补码表示的范围为[-128, 127].
[-128] == [1000 0000]补
[-7] == [10000111]原 == [1111 1000]反 == [1111 1001]补
二、进制转换
1.R进制转十进制
按权展开。
比如:
小数位相同
比如
2.十进制转R进制
除R取余法
举个例子://图片来自百度
带小数://感谢百度
但是小数不一定能转完呀~
三.逻辑运算 集合运算
1.逻辑运算
非:not ¬ 与:and ∧
或:or ∨ 异或:xor ⊕
运算级比较
括号为最高级。
运算时从高到低从左到右。
与:同1则1
或:有1则1
非:为1则0
2.集合运算
例: A = {0,1,2} B = {2,3}
全集 U = {0,1,2,3}
并运算 R = A U B = {0,1,2,3}
交运算 R = A ∩ B = {2}
差运算 R = A - B = {0,1}
非运算 R = ~A = {3}