C语言基础(3)-二进制、八进制、十六进制

时间:2022-09-18 19:13:00

1.二进制

一个位只能表示0或者1两种状态,简称bit(比特)

一个字节为8个二进制数,称为8位,简称BYTE(字节)

一个字为2个字节,简称WORD.

两个字为双字,简称DWORD,占32个bit

大写的B代表字节,小写的b代表比特

2.八进制

八进制为以8为基数的数制系统,C语言当中以0开头表示八进制,0666;八进制数为逢八进1,即:

0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20

在C语言中不能直接表达二进制数,但可以表达八进制数,010就是十进制的8,012就是十进制的10。

3.十六进制

十六进制值16为基数的数制系统,在C语言中以0x开头表示十六进制。

4.十进制转二进制、八进制、十六进制的方法

十进制数转化8进制的方法:

用十进制数除以8,分别取商和余数,当商为0的时候,将余数倒着数就是转化后的结果。

十进制数转化16进制的方法:

用十进制数除以16,分别取商和余数,当商为0的时候,将余数倒着数就是转化后的结果。

十进制数转化2进制的方法:

用十进制数除以2,分别取商和余数,当商为0的时候,将余数倒着数就是转化后的结果。

示例:将十进制数的23转换为2进制数

       商           余数

      2 |___23____  1

     2 |___11____  1 

     2 |____5___  1

     2  |____2____ 0

     2  |____1____1

         0

将余数反转,为10111,即:23

5.其它进制转换

十进制 八进制 二进制 十六进制
0 0 000 0
1 1 001 1
2 2 010 2
3 3 011 3
4 4 100 4
5 5 101 5
6 6 110 6
7 7 111 7
8 10 1000 8
9 11 1001 9
10 12 1010 a
11 13 1011 b
12 14 1100 c
13 15 1101 d
14 16 1110 e
15 17 1111 f
16 20 10000 10
17 21 10001 11

二进制转八进制

010 101 111 010 101 111 101 010 101 111 二进制(每三位分割,不足三位补0)
2      5     7     2    5    7     5    2     5     7   八进制

八进制转二进制

032

011 010  即 11010

二进制转十六进制

0111 1100 0001 1011 1111 0111   二进制(每四位分割,不足四位补0)
7        c       1        b      f      7      十六进制

即:0x7c1bf7

十六进制转二进制

0x4dafe1                                     十六进制
0100 1101 1010 1111 1110 0001   二进制

C语言基础(3)-二进制、八进制、十六进制的更多相关文章

  1. python的进制转换二进制,八进制,十六进制及其原理

    #!usr/bin/env python# coding:utf-8def binary(): '''二进制的方法与算法'''    Number = 10    Number1 = 20    Nu ...

  2. java中 二进制 八进制 十六进制 十进制 相互转换 最简方法

    package com.swift; import java.util.Scanner; public class Hex2Decimal { public static void main(Stri ...

  3. Java十进制转成二进制 八进制 十六进制

    int a = 357;//十进制转成二进制System.out.println(Integer.toBinaryString(a)); package com.swift; import java. ...

  4. 二进制&八进制&十六进制之间的快速转换------ 心算&笔算方法总结

    二进制数                   0&1两种元素: 8进制数                   0-7 八种元素: 十六进制数            0-9,a,b,c,d,e, ...

  5. C语言基础 (4) 原码反码补码与数据类型

    1.回顾 使用gcc编译代码 gcc hello.c -o hello windows下编译代码 C语言编译步骤: 预处理(头文件展开,干掉注释) gcc -E hello.c -o hello.i ...

  6. C语言基础程序设计

    1 概论 程序(指令和数据的集合)在运行时,首先会被加载到内存(此时称为进程),然后由CPU通过控制器的译码从内存中读取指令,并按照指令的要求,从存储器中取出数据进行指定的运算和逻辑操作等加工,然后再 ...

  7. Python 进制转换 二进制 八进制 十进制 十六进制

    Python 进制转换 二进制 八进制 十进制 十六进制 作者:方倍工作室 地址:http://www.cnblogs.com/txw1958/p/python3-scale.html 全局定义一定不 ...

  8. Python进制转换(二进制/八进制/十进制/十六进制)

    Python 进制转换 二进制 八进制 十进制 十六进制 作者:方倍工作室 地址:http://www.cnblogs.com/txw1958/p/python3-scale.html 全局定义 ba ...

  9. 《Java从入门到失业》第一章:计算机基础知识(一):二进制和十六进制

    0 前言 最近7年来的高强度工作和不规律的饮食作息,压得我有些喘不过气,身体也陆续报警.2018年下半年的一场病,让我意识到了这个问题的严重性,于是开始强制自己有规律饮食和作息,并辅以健身锻炼,不到2 ...

随机推荐

  1. UVa 1025 A Spy in the Metro(动态规划)

    传送门 Description Secret agent Maria was sent to Algorithms City to carry out an especially dangerous ...

  2. C#获取本周周一的日期

    /// <summary> /// 获取本周的周一日期 /// </summary> /// <returns></returns> public st ...

  3. Proxy 代理模式

    简介 代理模式是用一个简单的对象来代替一个复杂的或者创建耗时的对象. java.lang.reflect.Proxy RMI 代理模式是对象的结构模式.代理模式给某一个对象提供一个代理对象,并由代理对 ...

  4. Nginx反向代理、CORS、JSONP等跨域请求解决方法总结

    由于 Javascript 同源策略的存在使得一个源中加载来自其它源中资源的行为受到了限制.即会出现跨域请求禁止. 通俗一点说就是如果存在协议.域名.端口或者子域名不同服务端,或一者为IP地址,一者为 ...

  5. 升级 pip 超时解决方案

    安装的时候发现报错如下, 提示需要升级pip 按照指引进行升级, 同样的超时 使用 豆瓣源进行安装 pip python -m pip install --upgrade pip -ihttp://p ...

  6. 去除pt种里tracker的方法

    1.下载BEncode Editor,打开 2.把下载的种子拖进去,可以看到这样的: tracker就是箭头指的地方,这个包含了个人帐号独一无二的私钥,如果泄露给别人的话别人下载就是走的你的帐号,轻则 ...

  7. 【SqlServer】SqlServer的常规操作

    创建一张新表,不负责任何数据(该表不会有原来表的主键.索引等等) select * into NewTable from OldTable where 1<>1; 创建一张新表,并且复制旧 ...

  8. 关于dumper和mysqldump的

    最近在做版本更新 使用dumper在连接阿里云的RDS的时候 老是提示 需要超级管理员权限 无能只能使用系统自带的mysqldump了  语句简单方便 而且导出的表 没有加载库信息 mysqldump ...

  9. Springboot学习01- 配置文件加载优先顺序和本地配置加载

    Springboot学习01-配置文件加载优先顺序和本地配置加载 1-项目内部配置文件加载优先顺序 spring boot 启动会扫描以下位置的application.properties或者appl ...

  10. InstallShield中打包ArcEnineRuntime

    InstallShield中打包ArcEnineRuntime 最近研究了一阵应用程序的打包,几天下来也算颇有收获.普通的.net程序打包相对简单一点,不过ArcEngine的应用程序还涉及到Engi ...