C语言学习笔记——二进制和位运算

简介: C语言学习笔记——二进制和位运算

4.1进制

4.1.1进制介绍

  1. 二进制:0,1 ,满 2 进 1
  2. 八进制:0 - 7,满 8 进 1,以前缀0表示。
  3. 十进制: 0 - 9,满 10 进 1
  4. 十六进制:0 - 9 以及 A - F,满 16 进 1,以前缀0x或ox表示。其中 A - F 分别对应 10 -15
#include<stdio.h>
void main() {
  int a = 97;//十进制
  int b = 0141;//以0开头,表示八进制
  int c = 0x61;//以0x开头,表示十六进制
  int d = 0X61;//以ox开头,表示十六进制
  printf("a = %d\tb = %d\tc = %d\td = %d", a, b, c, d);
}

7a474b478003469c8283c2d51747b1b1.png

4.1.2其他进制转十进制

4.1.2.1二进制转十进制

从最低位开始,将每个位上的数提取出来,乘以2的(位数-1)次方,然后求和

1011 = 1 * 2^0 + 1 * 2^1 + 0 * 2^2 + 1 * 2^3 = 1+2+0+8=11

4.1.2.2八进制转十进制

从最低位开始,将每个位上的数提取出来,乘以8的(位数-1)次方,然后求和

0123 = 3 * 8 ^ 0 + 2 * 8 ^ 1 + 1 * 8^2 = 3+16+64=83

4.1.2.3十六进制转十进制

从最低位开始,将每个位上的数提取出来,乘以16的(位数-1)次方,然后求和

0x34A = 10 * 16 ^ 0 + 4 * 16 ^1 + 3 * 16^2 = 10+64+768=842

4.1.3十进制转其他进制

4.1.3.1十进制转二进制

将该数不断除以2,直到商为0为止,然后将每步得到的余数倒过来,就是对应的二进制

56 => 111000

4.1.3.2十进制转八进制

将该数不断除以8,直到商为0为止,然后将每步得到的余数倒过来,就是对应的八进制

156 =>234

4.1.3.3十进制转十六进制

将该数不断除以16,直到商为0为止,然后将每步得到的余数倒过来,就是对应的十六进制。

356 => 164

4.1.4二进制转八进制和十六进制

4.1.4.1二进制转八进制

从低位开始,将二进制数每三位一组,转成对应的八进制数即可

11010101 => 0325

4.1.4.2二进制转十六进制

低位开始,将二进制数每四位一组,转成对应的十六进制数即可

11010101 => 0xD5

4.1.5八进制和十六进制转二进制

4.1.5.1八进制转二进制

将八进制数每1位,转成对应的一个3位的二进制数即可

0237 => 10011111

4.1.5.2十六进制转二进制

将十六进制数每1位,转成对应的4位的一个二进制数即可

0x23B = 1000111011

B=11=> 1011

4.2原码、反码、补码

  1. 二进制的最高位是符号位: 0表示正数,1表示负数
  2. 正数的原码,反码,补码都一样
  3. 负数的反码=它的原码符号位不变,其它位取反
  4. 负数的补码=它的反码+1
  5. 0的反码,补码都是0
  6. 在计算机运算的时候,都是以补码的方式来运算的

4.3位运算

474c151d98978954fa33eb5e28ee510.png


相关文章
|
4月前
|
算法 程序员 C语言
C语言位运算
C语言位运算
40 0
|
4月前
|
算法 C语言 数据安全/隐私保护
【C 言专栏】C 语言中的位运算技巧
【5月更文挑战第2天】探索C语言中位运算的威力:高效处理标志位、数据压缩、加密及特定算法实现。了解位与(&)、或(|)、异或(^)、取反(~)和移位操作。通过示例代码学习判断奇偶、提取、设置和清除位。注意边界条件和可读性,利用位运算提升性能,结合位图和算法实现更多功能。掌握这些技巧,优化你的C语言编程。
123 53
【C 言专栏】C 语言中的位运算技巧
|
3月前
|
C语言
C语言学习笔记之初识字符串
C语言学习笔记之初识字符串
32 5
|
3月前
|
文件存储 C语言
|
3月前
|
存储 机器学习/深度学习 编译器
C语言代码学习笔记
<编程精粹:编写高质量C语言代码> 读书笔记
|
3月前
|
C语言
C语言---二进制位置0或者置1
C语言---二进制位置0或者置1
|
2月前
|
C语言
|
2月前
|
C语言
|
2月前
|
C语言
C语言学习笔记-W3
w3 条件,循环和数组
22 0
|
3月前
|
C语言
C语言中的位运算详解
C语言中的位运算详解