嵌入式学习-01C语言day02
1 进制
1.1 常见进制
(1)二进制:0、1,满2进1。
(2)十进制:0 - 9,满10进1。
(1)十六进制:0 - 9及A-F,满16进1。十六进制中,除了 0 到 9 十个数字外,还引入了字母,以便表示超过9的值。字母A对应十进制的10,字母B对应十进制的11,字母 C、D、E、F 分别对应十进制的 12、13、14、15。
1.2 C语言中使用不同进制表示整数
(1)二进制:以0b或0B开头表示。
(2)十进制:正常数字表示。
(3)十六进制:以0x或0X开头表示,此处的A-F不区分大小写。
代码示例:
1.3 输出格式
%d :十进制整数。
%x :十六进制整数。
%#x :显示前缀 0x 的十六进制整数。
%#X :显示前缀 0X 的十六进制整数。
代码示例
#include <stdio.h>
int main()
{
int x = 100;
printf("十进制:%d \n", x);
printf("十六进制:%x \n", x);
printf("十六进制(0x开头):%#x \n", x);
printf("十六进制(0X开头):%#X \n", x);
return 0;
}
输出结果
十进制:100
十六进制:64
十六进制(0x开头):0x64
十六进制(0X开头):0X64
1.4 原码、反码、补码
1)*原码*
原码的表示与机器数真值表示的一样,即用第一位表示符号,其余位表示数值。
Ø 正数的原码:就是它对应的二进制数。
Ø 负数的原码:它的绝对值对应的二进制数,且最左边位变为1。
Ø 0的原码:仍然是0。
十进制的正负1,用8位二进制的原码表示如下:
<