C语言之进制
进制
一种计数的方式.侧重点在于计数的时候是逢多少进一.
1) C语言可以识别的进制
- 二进制
每一位. 0 0 1 0 0 1 1 0 1 0 1 0 0 1 0 1 1 0
在C语言中,写一个二进制的数的方式就是在前面加一个 0b或者0B的前缀,二进制每一位是0或者1,逢2进1;
2. 八进制
每一位. 0 1 2 3 4 5 6 7 10 11
在C语言中,写一个八进制的数的方式就是在前面加一个 0的前缀,逢8进1;
%o 将整型变量中得数据以八进制的形式输出
3. 十进制
每一位. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
在C语言中直接写1个整数,那么默认就是十进制,逢10进1;
%d 将整型变量中得数据以十进制的形式输出
4. 十六进制
每一位. 0 1 2 3 4 5 6 7 8 9 a b c d e f 10 11 12
在C语言中,写一个十六进制的数的方式就是在前面加一个 0x或者0X的前缀,逢16进1;
%x 将整型变量中得数据以八进制的形式输出
2).进制之间的转换
a. 基本概念
数码: 指的是这个数据的每一位的数字.
数位: 数码在这个数中的位置.从右到左.依次递增从 0 开始.
基数: 就是每一个数码可以有多少个数据来表示.
(基数其实指的就是这个数的进制).
位权: 数码乘以(基数的数位次方)
任何数的0次方都为1.
b. 十进制转换为二进制
除2取余法. 将这个数除以2. 直到商为1或者0. 然后最后1个商和所有余数倒序. 就是这个十进制对应的二进制.
例:
10 的二进制是 1010
178 的二进制是10110010
c. 二进制转换为十进制
加权法:将这个二进制数的每个数码的位权相加,就是这个二进制对应的十进制.
10101 每1个数码的位权相加.
第0位的位权: 1 * 2的0次方 1
1 * 0
2 * 4
3 * 0
4 * 16
d. 十进制转换为八进制
除8取余(与十进制转换为二进制方法类似)
e. 八进制转换为十进制
加权法:将八进制的每1个数码的位权相加 得到的就是其对应的十进制数.
0342
第0位: 2 * 8的0次方 2
1 4 * 8的1 32
2 3 * 8的2 192
f. 二进制转换为八进制.
三合一法则:将这个二进制从低位到高位每三位分成1组.高位不够补0将每1组转换为十进制.最后将每1组的十进制连起来. 就是这个二进制对应的八进制.
001 011 100 110 011
1 3 4 6 3
g. 八进制转换为二进制.
一拆三:将这个八进制数的没1个数码拆为1个三位的二进制数.把这些二进制数连起来.
134674
001 011 100 110 111 100
h. 二进制转换为十六进制.
四合一法则:将这个二进制从低位到高位每四位分成1组.高位不够补0
将每1组转换为对应的十六进制.最后将每1组转换成功的十六进制数链接起来.
11100101010111110111101010101
0001 1100 1010 1011 1110 1111 0101 0101
1 c a b e f 5 5
k. 十六进制转换为二进制.
一拆四法则:将这个十六进制的书的每1个数码拆为1个四位的二进制数,将其连起来.
4dea761;
0100 1101 1110 1010 0111 0110 0001
C语言之进制的更多相关文章
- java语言基础-进制
一丶Java语言基础:进制 1.进制的四种表现形式 (1).二进制:0,1 满2进1. (2).八进制0-7 :满8进1,用0开头表示. (3).十进制:0-9 满10进1. (4).十六进制:0-9 ...
- C语言中进制知识总结
1.什么是进制 进制是一种计数的方式,常用的有二进制.八进制.十进制.十六进制.任何数据在计算机内存中都是以二进制的形式存放的. 我对进制的个人理解,二进制数是以2为计算单元,满2进1位的数:八进制数 ...
- 新手第一天学习 C#语言(进制互换)
说起来我们对一些陌生或者未知的东西有一些恐惧感,但是又有一些期待,虽然我不确定自己能不能学会这门语言,但是我会尽自己最大的努力学. 我们第一天学的的内容呢,对大多数的人都知道,计算机的语言是二进制,但 ...
- 一起talk C栗子吧(第七回:C语言实例--进制转换)
各位看官们.大家好,从今天開始.我们讲大型章回体科技小说 :C栗子,也就是C语言实例. 闲话休提, 言归正转.让我们一起talk C栗子吧! 看官们.上一回中咱们说的是生成随机数的样例.这一回咱们说的 ...
- C语言下进制的使用
进制规则 十进制 以正常数字1-9开头,如123 八进制 以数字0开头,如0123 十六进制 以0x开头,如0X123 二进制 C语言不能直接书写二进制数 案例如下 int main() { int ...
- C语言基础--进制
进制表示: // 1.默认就是10进制 ; // 2.在前面加上一个0就代表八进制 ; // %d是以十进制的方式输出一个整数 printf("%d\n", num1); // % ...
- C语言实现进制转换
#include<stdio.h> int main() { char ku[16]={'0','1','2','3','4','5','6','7','8','9','A','B ...
- C语言基础:进制转换,变量,常量,表达式,基本数据类型,输出函数,输入函数,运算符. 分类: iOS学习 c语言基础 2015-06-10 21:39 25人阅读 评论(0) 收藏
二进制:以0b开头,只有0和1两种数字.如0101 十进制:0~9十个数字表示.如25 十六进制:以0~9,A~F表示,以0X开头.如0X2B 十进制转换为X进制:连除倒取余 X进制转换为十进制:按权 ...
- 【学习笔记】【C语言】进制
1. 什么是进制 是一种计数的方式,数值的表示形式 2. 二进制 1> 特点:只有0和1,逢2进1 2> 书写格式:0b或者0b开头 3> 使用场合:二进制指令\二进制文件,变量在内 ...
随机推荐
- VS2015集成新潮工具4
VS2015集成新潮工具(四) 本课程来源与微软connect视频教程,Modern Web Tooling in Visual Studio 2015 本课程主要讲下当下流行的前端工具 bowe ...
- solr与.net主从复制
solr主从复制 solr与.net系列课程(七)solr主从复制 既然solr是解决大量数据全文索引的方案,由于高并发的问题,我们就要考虑solr的负载均衡了,solr提供非常简单的主从复制的 ...
- jQuery Easy UI LinkButton(button)包
LinkButton(button)包,easyui其中一个基本组成部分 演示样例: <!DOCTYPE html> <html> <head> <title ...
- WebIM(4)----Comet的特殊之处
WebIM系列文章 在一步一步打造WebIM(1)一文中已经使用Comet实现了一个简单的WebIM,那么,Comet究竟和一般的打开网页有何区别,本文将通过编写一个简单的HTTP服务器来说明两者的区 ...
- 使用CountDownLatch和CyclicBarrier处理并发线程
闲话不说,首先看一段代码: { IValueCallback remoteCallback = new IValueCallback.Stub() { <strong><span s ...
- 【转】 Android项目的mvc模式
MVC (Model-View-Controller):M是指逻辑模型,V是指视图模型,C则是控制器.一个逻辑模型M可以对于多种视图模型V,比如一批统计数据你可以分别用柱状图.饼图V来表示.一种视图模 ...
- INSTEAD OF触发器
Oracle触发器5(INSTEAD OF触发器) 前提:对于简单的视图,可以直接进行DML操作,但是对于复杂视图,不允许直接执行DML操作,当视图符合以下任何一种情况都不可以: 具有集合操作符(UN ...
- 编辑控件CKEditor和CKFinder
-使用HTML编辑控件CKEditor和CKFinder Web开发上有很多HTML的编辑控件,如CKEditor.kindeditor等等,很多都做的很好,本文主要介绍在MVC界面里面,CKEdit ...
- 如何在数据库中存储IP地址
最近改一个比较老的web系统,该系统是通过账号或者ip地址(白名单)验证限制访问权限的. 由于运营的时间比较长了,发现进入网站巨卡... 原因就是:之前的数据库(sqlserver)存储ip地址是用的 ...
- [Usaco2008 Dec]Patting Heads 轻拍牛头[筛法]
Description 今天是贝茜的生日,为了庆祝自己的生日,贝茜邀你来玩一个游戏. 贝茜让N(1≤N≤100000)头奶牛坐成一个圈.除了1号与N号奶牛外,i号奶牛与i-l号和i+l号奶 ...