- 个人主页: 程序员爱摸鱼
- 版权: 本文由【程序员爱摸鱼】原创、在CSDN首发、需要转载请联系博主
- 如果文章对你有帮助、欢迎关注+点赞+收藏(一键三连)哦
- 想寻找共同成长的小伙伴,可以互粉哦
1.基础语法
1.1 数值表示
二进制
八进制
十六进制
1.2 C语言如何表示相应进制数
1.3 数值存储方式
1.3.1 原码
1.3.2 反码
1.3.3 移码
进制
十进制 |
二进制 |
八进制 |
十六进制 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
2 |
10 |
2 |
2 |
3 |
11 |
3 |
3 |
4 |
100 |
4 |
4 |
5 |
101 |
5 |
5 |
6 |
110 |
6 |
6 |
7 |
111 |
7 |
7 |
8 |
1000 |
10 |
8 |
9 |
1001 |
11 |
9 |
10 |
1010 |
12 |
A |
11 |
1011 |
13 |
B |
12 |
1100 |
14 |
C |
13 |
1101 |
15 |
D |
14 |
1110 |
16 |
E |
15 |
1111 |
17 |
F |
16 |
10000 |
20 |
10 |
口诀:除二取余,倒序排列法
十进制 |
以正常数字1-9开头,如15 |
八进制 |
以数字0开头,如017 |
十六进制 |
以0x或0X开头,如0xf |
二进制 |
以0b或0B开头,如0b1111 |
示例代码:
#include
int main() {
// 十进制方式赋值
int a = 15;
// 八进制方式赋值
int b = 017;
// 十六进制方式赋值
int c = 0xf;
// 二进制方式赋值
int d = 0b1111;
printf("%d, %d, %d, %d\n", a, b, c, d);
return 0;
}
计算机底层都是存储数据都是采用二进制,但二进制也有几种,比如:原码、反码、补码。接下来我们来看看他们之间的关系的意义作用。
十进制数按照:除二取余、倒序排列,得到的就是原码。
为了解决上面的问题,出现了反码,反码的计算规则如下:
示例
0000 0001
+ 1111 1110
-----------------
1111 1111
1111 1111 是运算完之后的结果,但要注意,这时还是反码,需要重新返回来:1000 0000 。
反码解决了正负数加法问题,但正负零的问题还是存在。
十进制数 |
补码 |
移码 |
+15 |
0000 1111 |
1000 1111 |
-15 |
1111 0001 |
0111 0001 |
+0 |
0000 0000 |
1000 0000 |
想要了解更多吗?没时间解释了,快来点一点!!!
程序员爱摸鱼
————————————————
版权声明:本文为CSDN博主「程序员爱摸鱼」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:程 序 员 爱 摸 鱼