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> 使用场合:二进制指令\二进制文件,变量在内 ...
随机推荐
- LibVLC video controls
原文 http://www.videolan.org/developers/vlc/doc/doxygen/html/group__libvlc__video.html VLC 3.0.0-git ...
- 如何查找Linux的函数定义的位置?
网上的许多站点提供这样的服务,如下面这个: http://lxr.free-electrons.com/ident?v=3.10 Linux的错误返回值:3.10版本 Linux/include/ua ...
- GDI+ 摘要: 保存图像文件
要保存图像文件,必须先获得图像的编码格式信息.可是GDI+没有直接提供这个函数:GetEncoderClsid(const WCHAR* format, CLSID* pClsid) 因此须要我们自己 ...
- javascript 正则介绍
1.正则直接量字符 \o NUL字符(\u000)\t 制表符\n 换行符(\u000A)\v 垂直制表符\f 换页符\xnn 由16进制nn指定的拉丁字符\uXXXX 由16进制XXXX指定的unc ...
- proxool的配置
//依赖的包:commons-logging-api-1.1.jar,commons-logging-1.0.4.jar,proxool-0.9.1.jar,proxool-cglib.jar,cgl ...
- UrlRouting的理解
UrlRouting的理解 文章内容 根据对Http Runtime和Http Pipeline的分析,我们知道一个ASP.NET应用程序可以有多个HttpModuel,但是只能有一个HttpHand ...
- Javascript技巧实例精选(4)—FTP网站登录的Javascript实现
FTP网站登录的Javascript实现 >>点击这里下载完整html源码<< 这是最后的截图 这是核心Javascript源码 function goFtpSite() { ...
- iOS基础 - Modal制作控制器
1.modal 1.modal推出控制器的代码 2.modal关闭当前控制器的代码 3.modal推出的动画效果 4.modal在ipad中应用 2.如何给控制器加上导航栏 3.modal和导航控制器 ...
- JavaScript module pattern精髓
JavaScript module pattern精髓 avaScript module pattern是一种常见的javascript编码模式.这种模式本身很好理解,但是有很多高级用法还没有得到大家 ...
- 苹果推送通知服务Push Notification探究总结(序)
刚才发了两篇几个月前写的文档,觉得太敷衍了,想了想,还是来一发实在的. 再者,刚好上周研究了苹果的推送通知服务Push Notification,还是很有心得的,赶紧趁热打铁,记录一下,望与大家谈论下 ...