二进制表示
前言
二进制知识涉及计算机中的存储和运算等
正整数、负整数、正浮点数和负浮点数的二进制
一、整数的二进制表示
整数的二进制表示包括:原码、反码和补码
1、 +5
- 原码: 0000 0101
- 反码: 0000 0101
- 补码: 0000 0101
- 正整数的原码、反码和补码相同,符号位为0
2、 -5
- 原码: 1000 0101
- 反码: 1111 1010
- 补码: 1111 1011
- 负整数的原码,在其绝对值原码的基础上,将符号位置为1
- 负整数的反码, 在其原码的基础上,除了符号位外,其余的取反
- 负整数的补码,在其反码的基础上,加 1
二、浮点数的二进制表示
浮点数在计算中使用IEEE 754标准表示,包括三部分:符号位、指数位 和 尾数位
32位的浮点数:符号位(1位,0表整数,1表负数),指数位(8位,使用移码表示指数,偏移量为127),尾数位(23位,存储尾数的有效位,即小数点后的,不包括小数点前一个1)
64位的浮点数:符号位(1位)、指数位(11位),尾数位(52位)
小数点后的数转二进制的过程:不断乘以2,记录每次整数部分的值,当小数部分为.0时结束
例如:0.375
步骤 | 整数部分 | 小数部分 |
---|---|---|
1) 00.375 * 2 = 0.75 | 0 | .75 |
2) 0.75 * 2 = 1.50 | 1 | .50 |
3) 0.50 * 2 = 1.0 | 1 | .0 |
因此 0.375的二进制数为 : 0.011(每次乘2结果的整数部分)
3、 +12.375 (12 + 0.375 = 8+4 + 0.375)
- 整数部分二进制: 1100
- 小数部分二进制: 0.011
整体二进制数: 1100.011
换成科学计数法:1.100011 * 2^3(表示小数点右移3位)
- 符号位: 0
- 指数位: 3 + 127 = 130 (10000010)
- 尾数位: 10001100000000000000000
因此,浮点数在计算机中的表示位:
- 0 10000010 10001100000000000000000
4、 -12.375
跟正浮点数差不多,区别就是符号位不同
- 1 10000010 10001100000000000000000