C语言基础(3)-二进制、八进制、十六进制
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)-二进制、八进制、十六进制的更多相关文章
- python的进制转换二进制,八进制,十六进制及其原理
#!usr/bin/env python# coding:utf-8def binary(): '''二进制的方法与算法''' Number = 10 Number1 = 20 Nu ...
- java中 二进制 八进制 十六进制 十进制 相互转换 最简方法
package com.swift; import java.util.Scanner; public class Hex2Decimal { public static void main(Stri ...
- Java十进制转成二进制 八进制 十六进制
int a = 357;//十进制转成二进制System.out.println(Integer.toBinaryString(a)); package com.swift; import java. ...
- 二进制&八进制&十六进制之间的快速转换------ 心算&笔算方法总结
二进制数 0&1两种元素: 8进制数 0-7 八种元素: 十六进制数 0-9,a,b,c,d,e, ...
- C语言基础 (4) 原码反码补码与数据类型
1.回顾 使用gcc编译代码 gcc hello.c -o hello windows下编译代码 C语言编译步骤: 预处理(头文件展开,干掉注释) gcc -E hello.c -o hello.i ...
- C语言基础程序设计
1 概论 程序(指令和数据的集合)在运行时,首先会被加载到内存(此时称为进程),然后由CPU通过控制器的译码从内存中读取指令,并按照指令的要求,从存储器中取出数据进行指定的运算和逻辑操作等加工,然后再 ...
- Python 进制转换 二进制 八进制 十进制 十六进制
Python 进制转换 二进制 八进制 十进制 十六进制 作者:方倍工作室 地址:http://www.cnblogs.com/txw1958/p/python3-scale.html 全局定义一定不 ...
- Python进制转换(二进制/八进制/十进制/十六进制)
Python 进制转换 二进制 八进制 十进制 十六进制 作者:方倍工作室 地址:http://www.cnblogs.com/txw1958/p/python3-scale.html 全局定义 ba ...
- 《Java从入门到失业》第一章:计算机基础知识(一):二进制和十六进制
0 前言 最近7年来的高强度工作和不规律的饮食作息,压得我有些喘不过气,身体也陆续报警.2018年下半年的一场病,让我意识到了这个问题的严重性,于是开始强制自己有规律饮食和作息,并辅以健身锻炼,不到2 ...
随机推荐
- ubuntu下apache重启报Could not reliably determine the server’s fully......
在Ubuntu上安装Apache,每次重启,都会出现以下错误提示: Could not reliably determine the server’s fully qualified domain n ...
- 转《WF编程》笔记目录
<WF编程>笔记目录 2008-03-18 09:33 by Windie Chai, 26803 阅读, 49 评论, 收藏, 编辑 WF笔记开始 <WF编程>系列之0 - ...
- 报表开发工具Finereport移动端app js接口列表【全】
应用报表工具Finereport的开发人员会发现其移动端app 同样也推出了很多js接口,那这些接口到底有多少,其移动端又有哪些地方支持调用js,这些接口具体又该如何调用呢.根据我平时的开发经验,给大 ...
- es6学习笔记2-解构赋值
解构赋值基本概论就按照一定的模式通过数组或者对象对一组变量进行赋值的过程. 1.通过数组对变量进行赋值: /*通过这种方式赋值要注意左右两边的结构模式要一样,在赋值的时候,根据位置进行赋值对应模式.* ...
- ZeroClipboard跨浏览器复制粘贴
<!DOCTYPE html> <html> <head> <title>ZeroClipboard跨浏览器复制粘贴</title> < ...
- 国内外前端(js)开发框架对比
国内外前端开发框架对比 首先我们先对目前国内外主流前端开发框架做一个基本的了解,之后再对他们进行一个直观的对比. Bootstrap Bootstrap(http://www.bootcss.com) ...
- Openjudge 1.13.37:乒乓球
总时间限制: 1000ms 内存限制: 65536kB 描述 国际乒联现在主席沙拉拉自从上任以来就立志于推行一系列改革,以推动乒乓球运动在全球的普及.其中11分制改革引起了很大的争议,有一部分球员 ...
- BAD APPLE C++控制台程序
使用C++语言编写,如果想改成C语言,手动以GetProcAddress的方式来调用相关函数即可. #include <windows.h> #include <mmsystem.h ...
- 解决 PHPExcel 长数字串显示为科学计数
解决 PHPExcel 长数字串显示为科学计数 在excel中如果在一个默认的格中输入或复制超长数字字符串,它会显示为科学计算法,例如身份证号码,解决方法是把表格设置文本格式或在输入前加一个单引号. ...
- HTTP原型
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.I ...