概述
计算机中使用的数据可分成两大类:
- 符号数据:非数字符号的表示(ASCII、汉字、图形等)
- 数值数据:数字数据的表示方式(定点、浮点)
文章目录
- 进制转换:
- 10进制整数转任意进制整数(C++代码)
- 任意进制整数转10进制整数(C++代码)
- 浮点数 IEEE 754
- 例1:已知754标准存储格式十六进制,求浮点数十进制数值
- 例2:将十进制浮点数转换为754标准的32位浮点数的二进制存储格式
数据格式:
- 二进制:用0和1两个数码来表示的数。它的基数为2,逢二进一。是计算技术中广泛采用的一种数制。
- 八进制:用3位二进制表示八进制,它的基数为8,逢8进一。
- 十六进制:用4位二进制表示十六进制,它的基数为16,逢16进一。使用 0-9 A-F 分别表示10进制的 0-9 10-15。
二进制 | 八进制 | 十六进制 | 十进制 |
---|---|---|---|
0000 | 0 | 0 | 0 |
0001 | 1 | 1 | 1 |
0010 | 2 | 2 | 2 |
0011 | 3 | 3 | 3 |
0100 | 4 | 4 | 4 |
0101 | 5 | 5 | 5 |
0110 | 6 | 6 | 6 |
0111 | 7 | 7 | 7 |
1000 | 10 | 8 | 8 |
1001 | 11 | 9 | 9 |
1010 | 12 | A | 10 |
1011 | 13 | B | 11 |
1100 | 14 | C | 12 |
1101 | 15 | D | 13 |
1110 | 16 | E | 14 |
1111 | 17 | F | 15 |
进制转换:
10进制和R进制之间的转换
-
R进制到10进制:
∑ i = n − m k i × r i sum_{i=n}^{-m} k_i × r^i i=n∑−mki×ri -
10进制到R进制:
整数部分:除r取余,r为进制基数
小数部分:乘r取整
10进制整数转任意进制整数(C++代码)
#include <iostream>
using namespace std;
// 字符串反转
void StrReverse(char* str)
{
char tmp;
int len = strlen(str);
for (int i = 0, j = len - 1; i <= j; i++, j--)
{
tmp = str[i];
str[i] = str[j];
str[j] = tmp;
}
str[len] = '