计算机进制转换,看完包会,忘记的小伙伴可以进来看看

452 阅读4分钟

别的进制转换成为10进制:


二进制标识符为B,十六进制为H 注意的是16进制A为10 F为15 ABCDEF

转换:

对应整数上最后一位是为0 如果是 1221B

代表是二进制 成为10进制就是 1乘以2的三次方加上2乘以2的2次方加上2乘以2的1次方加上1乘以2的一次方

十进制如何转换成为其他进制:

用十进制的数字转换除以几进制的的几 。然后余数放在后面,除到为0之后,从最后往前取数字就是几进制的答案

十进制转换成为2进制凑位权法

把位号以及权值罗列出来,凑成十进制的数字

192的话,等于128+32 就是11000000

二进制和8进制 16进制的相互转换:

二进制转换成为8进制使用三分法: 因为2的三次方等于8

比如100101001 分成 100 101 001 分别计算三个的八进制数字是多少 4 5 1

转换成16进制 使用4分法 1 0010 1001 对应的16进制是 1 2 9

相反如果8进制转换成为 2进制: 123 就是1转换成为 2进制 001 2转换成为2进制 010 3转换成为2进制 011 答案就是 1010011 注意,转换成为2进制的不足三位前面需要补0

16转换成 2机制就需要 123 1等于 0001 2等于 0010 3等于0011 答案就是 100100011

原码,反码,移码,补码

8位数的位 其中第一位表示正负 0表示正数,1表示负数 其他七位数表示数据

反码:负数的反码就是符号位不变,其他位数取反。正数不变;

补码:正数不变,负数就是反码加一,符号位都不变

移码:补码的符号位取反

简化记忆(正数:补码反码都不变符号,移码要变。正数的补码反码都一样,不变。

负数:反码是除开符号位取反,补码是反码加一。移码是补码符号位取反)

例子:

01110011

反码:01110011 补码 01110011 移码:11110011

10001001

反码:11110110 补码11110111 移码 01110111

常见问题:给出补码,求她十进制数是多少

01110011 是补码的话,首先判断是正数还是负数,正数就直接算。负数就需要先减1,然后除开第一位取反

正数的话就是补码和原码一样01110011 直接算就是2的六次方加上5次方加上三次方加上1次方加上0次方 64+32+16+2+1=115

负数11110111是补码的话 就先减去一11110110 ,符号位不变取反得到 10001001

等于2的3次方+的一次发=9

范围:

定点整数范围:

原码: -(2的n次方减一)到(2的n次方)-1

反码 :是一样的范围

补码:因为负数的情况会在数据段加一是可以表示到相当于可以多表示一个数字。就是负 (2的n次方)到2的n次方)-1

移码:同补码

定点整数范围表

定点小数范围:

当n等于4的时候,最小的是 0.111 第一位需要表示正负,

就是1111 0.111+0.001等于1 所以1减去0.001 就是2的负n次方-1 所以负数的范围就是-(1-2的负n-1次方)到正的(1-2的负n-1次方)次方

n等于4的范围就是1111~0111

补码要加一的话就是负1 到0111

同理补码和移码需要范围加一

定点小数范围表:

范围表例题:

答案全是整数,就直接想出整数补码范围是-2的(n次方减一)~2的(n次方-1)-1

选D

浮点数·的表示:

一般是尾数(小数)乘以基数的指数(阶数)

例题

阶码长代表范围大,尾数长代表精度高选c

阶码原码算出来是: 11111 因为是机器:所以是二进制所以是 2为基数

1是负数,1111是15 所以应该是2的(负15次方) 后面00000000001 是正数,且为2的负10

答案就是B

算数运算符:

异或就是逻辑只不一样才才取1

优先级:!>&&>||

例题

因为&&前面为假就不计算后面了,所以n是1

B