第一部分:进制转换

二进制:由0~1构成,逢2进1
八进制:由0~7构成,逢8进1
十六进制:由0~9、A~F构成,逢16进1

两个基本概念

基数:n进制基数为n

123.4 = 1*10^2 + 2*10^1 + 3*10^0 + 4*10^-1 

位权:
小数点左边第k位位权为   基数^k-1
小数点右边第k位位权为   基数^-k

其他进制转十进制(按权展开求和法)

十进制  123.4 = 1*10^2 + 2*10^1 + 3*10^0 + 4*10^-1 
二进制  1011.1 = 1*2^3 + 0*2^2 + 1*2^1 + 1*2^0 + 1*2^-1= 11.5
八进制  123.4 = 1*8^2 + 2*8^1 + 3*8^0 + 4*8^-1= 83.5
十六进制 123.4 = 1*16^2 + 2*16^1 + 3*16^0 + 4*16^-1 = 291.25

十进制转其他进制

整数部分 :基数除法,倒序取余
小数部分 :基数乘法,顺序取整
 
十进制 - > 二进制
整数  除2倒序取余 (以4位为单位,不足高位补0)
小数  乘2正序取整 (遇到整数取1,小数再乘2)

其他进制间相互转换

  1. 二进制转八进制(3位二进制  =  1位八进制    对应“421”)
    0101 1010  ==  132
    000=0    100=4
    001=1    101=5
    010=2    110=6
    011=3    111=7
     
  2. 二进制转十六进制(4位二进制  =  1位十六进制    对应“8421”)
    0101 1010 == 5A
    0000=0      1000=8
    0001=1      1001=9
    0010=2      1010=A
    0011=3      1011=B
    0100=4      1100=C
    0101=5      1101=D
    0110=6      1110=E
    0111=7      1111=F

第二部分:数据表示

整形数据的分类

1.无符号整型数据:所有位均表示大小。
N位无符号整型数据表示的取值范围为:0~2N-1
 
2.带符号整型数据:最高位表示符号:0为正、1为负。常用原码、反码、补码表示。

正数:三码同一。
 
例:已知x=+76D ,写出x的三码表示(8位)
解:x=+76D=+1001100B
因为x>0
所以:[x]原=[x]反=[x]补=01001100B
 
负数:
 
例1:已知x= -76D ,写出x的三码表示(8位)
解:x= -76D= -1001100B
[x]原=1 1001100B 
[x]反=1 0110011B  (原码取反)
[x]补=1 0110100B  (末位加一)
 
例2:已知:[x]原=[y]反=[z]补=1100 1011B,求出x、y、z的大小关系。
[x]原=1100 1011B                x = -100 1011B
[y]反=1100 1011B
[y]原=1011 0100B                y = -011 0100B
[z]补=1011 0100B 
[z]原=1100 1100B                z = -100 1100B
y > x > z

C语言基础——进制转换 / 数据表示的更多相关文章

  1. 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进制转换为十进制:按权 ...

  2. 【搬砖】安卓入门(2)- Java开发编程基础--进制转换和运算符

    02.01_Java语言基础(常量的概述和使用)(掌握) A:什么是常量 在程序执行的过程中其值不可以发生改变 B:Java中常量的分类 字面值常量 自定义常量(面向对象部分讲) C:字面值常量的分类 ...

  3. java语言基础-进制

    一丶Java语言基础:进制 1.进制的四种表现形式 (1).二进制:0,1 满2进1. (2).八进制0-7 :满8进1,用0开头表示. (3).十进制:0-9 满10进1. (4).十六进制:0-9 ...

  4. Java基础-进制转换

    Java基础-进制转换 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Java 程序中常用的进制 1>.十进制,由“0123456789” 这10个数字组成,逢十进一: ...

  5. 一起talk C栗子吧(第七回:C语言实例--进制转换)

    各位看官们.大家好,从今天開始.我们讲大型章回体科技小说 :C栗子,也就是C语言实例. 闲话休提, 言归正转.让我们一起talk C栗子吧! 看官们.上一回中咱们说的是生成随机数的样例.这一回咱们说的 ...

  6. C语言基础--进制

    进制表示: // 1.默认就是10进制 ; // 2.在前面加上一个0就代表八进制 ; // %d是以十进制的方式输出一个整数 printf("%d\n", num1); // % ...

  7. C语言实现进制转换——超图面试题

    递归:递归的原理,就是自己调用自己本身.存在一个顺序的问题,如果在递归前的是顺序执行,递归后的是逆序执行,如下: void gogogo() { //递归之前 gogogo(); //递归之后 } 递 ...

  8. C语言关于进制转换,补码, 整数的位操作

    菜单导航: 1.二进制.八进制.十进制.十六进制的相互转换 2.原码.反码.补码 3.举例证明整数在计算机内是以补码的形式存在(以负数为例) 4.整数的位操作:按位且&.或|.异或^.取反~ ...

  9. C语言实现进制转换

    #include<stdio.h> int main() {     char ku[16]={'0','1','2','3','4','5','6','7','8','9','A','B ...

随机推荐

  1. Python 中的for....else....

    在一个for循环中,当循环遇到break语句之后程序就会跳出循环,执行for循环之后的语句:但是,当整个循环都没有遇上break语句,而且你想在这种情况下做一些事情的话,你就可以通过结合else来完成 ...

  2. Andriod Studio设置代码字体大小

  3. Unity Dropdown

    unity DropDown控件应用很简单 代码如下 frameDpdown.options.Clear(); //Dropdown.OptionData optDataFrame = new Dro ...

  4. django-表单之数据保存(七)

    models.py class Student(models.Model): #字段映射,数据库中是male,female,后台显示的是男,女 choices={ ('male',"男&qu ...

  5. SpringCloud之Zuul配置问题

    当通过网关去调用服务的时候,尤其是服务里面配置了熔断,会发现拿不到熔断返回的信息 hystrix: command: default: execution: isolation: thread: ti ...

  6. ansible模块之yum、pip、service、corn、user、group

    ansible相关模块 yum rpm 和yum 的区别 rpm:全称redhat package manager (红帽包管理器) 不能解决包之间的依赖关系 yum:可以解决依赖关系 yum 源配置 ...

  7. Java 读取properties 配置文件的几种方式

    基于ClassLoder读取配置文件 Properties properties = new Properties(); // 使用ClassLoader加载properties配置文件生成对应的输入 ...

  8. CVE-2019-13272Linuxkernel权限许可和访问控制问题漏洞

    漏洞简介: Linuxkernel是美国Linux基金会发布的开源操作系统Linux所使用的内核. Linuxkernel5.1.17之前版本中存在安全漏洞,该漏洞源于kernel/ptrace.c文 ...

  9. 星级评分条(RatingBar)的功能与用法

    星级评分条与拖动条有相同的父类:AbsSeekBar,因此它们十分相似.实际上星际评分条与拖动条的用法.功能都十分接近:它们都允许用户通过拖动来改变进度.RatingBar与SeekBar的最大区别在 ...

  10. Sublime text3配置C++环境

    前言 传说sublime是全球最好的编辑器,可是只是编辑器啊!!!如果要运行,对于我们这些蒟蒻来说,不得不去使用DEV_C++.我们总是幻想能让sublime变成一个轻量级IDE,那该多好啊!!! 那 ...