- 十进制
- 基数0~9,逢10进1
- 示例:123 = 1 * 10^2 + 2 * 10^1 + 3 * 10^0 = 100 + 20 + 3 = 123
- 二进制
- 基数0和1,逢2进1
- 示例:0b110100 = 2^5 + 2^4 + 2^2 = 32 + 16 + 4 = 52
- 十进制转二进制:除2取余,倒序书写
- 22 = 0b10110
- 八进制
- 基数0~7,逢8进1
- 示例:0o123 = 1 * 8^2 + 2 * 8^1 + 3 * 8^0 = 64 + 16 + 3 = 83
- 八进制转二进制:八进制的1位可以表示3位二进制数
- 0o123 = 0b 001 010 011
- 十六进制
- 基数09、AF,逢16进1
- 示例:0xAB = 10 * 16^1 + 11 * 16^0 = 160 + 11 = 171
- 十六进制转二进制:十六进制的1位可以表示4位二进制数
- 0xABC = 0b 1010 1011 1100
- 计算机中是以哪种进制存储数据的,为什么?
- 二进制,因为计算机只识别二进制。具体原因:
- 稳定性高(只有0和1)、成本低(技术上容易实现)、与生活中的真假逻辑相吻合(便于解决生活中的实际问题)
- 原码反码补码
- 如何存储负数?
- 最高位作为符号位:0表示正数、1表示负数
- 虽然牺牲了最高位,但是解决了负数的表示问题,简化了硬件设计
- 原码反码和补码:是针对负数而言的(正数的三码一致)
- 负数的反码等于数据原码的符号位不变,数据位取反
- 负数的补码等于对应的反码加1
- 计算机中的数据都是以补码的形式存储的
- 如何存储负数?
进制转换
最新推荐文章于 2024-07-24 10:44:50 发布