美文网首页
C语言入门开发-进制

C语言入门开发-进制

作者: 孙国庆 | 来源:发表于2015-04-19 11:17 被阅读99次

进制

1:二进制

[十进制]0 1 2 3 4 5 6 7 8 9 (逢十进一)

[二进制]0 1 (逢二进一)

0+0=0

0+1=1

1+1= 10

为什么要采用二进制?机械容易读取

0 和1 代表两种状态(开和关)

数据存储在内存:

内存抽象:开关,想象成无数个开关组成的,8个开关放到一个房子里,称为字节,想象成无数个房子组成的,内存可以就是摩天大厦

内存量级:bit等量转换单位

8bit====1(字节)

1024字节===1k

1024K===1M

1024M===1G

1024G===1T

二、八进制、十六进制

[八进制]0 1 2 3 4 5 6 7 (逢8进1)

1+7=10

2+7=1+7+1=10+1=11

[十六进制]01 2 3 4 5 6 7 8 9 a b c d e f (逢16进1)

1+f=10

都有一定的可度性,并且可以和二进制转换(比较容易)

三、进制转换

1、十进制转二进制(倒除法)

除2取余倒着排

67(10)===1000011

2|67

2|331

2|161

2|80

2|40

2|20

2|10

2|01

55(10)===110111

2|55

2|271

2|131

2|61

2|30

2|11

2|01

2、二进制转十进制(当前的数字0、1城西2的当前位数次方,每一位都如此,最后相加)

1001101

1*2^0+0*2^1+1*2^2+1*2^3+0*2^4+0*2^5+1*2^6=

1+1+4+8+1+1+64=

3、八进制转二进制

[三位一取]八进制的一位相当于二进制的三位,转换的时候按十进制来算

55(8)===101101

2|5

2|21

2|10

2|01

47(8)===100111

2|42|7

2|202|31

2|102|11

2|012|01

4、十六进制转二进制

[四位一取]十六进制的一位相当于二进制的四位,转换的时候按十进制来算

5de6(16)===(101)(1101)(1110)(0110)

5、二进制转八进制和十六进制

[八进制-三位一取]

[十六进制-四位一取]

[从低为开始取]

进制对应表

十进制二进制八进制十六进制

000

100011

200102

300113

401004

501015

601106

701117

8100010

9100111

练习:

1、十进制转二进制

12、34、678、59

2、二进制转10进制

100111、110011、101010

3、八进制转二进制

564、712

4、十六进制转二进制

12aef、d39a

5、二进制转八进制和16进制

1110110、10001001、11001001

找到相应的原码 反码 补码

-9

-3

原码、反码、补码

[注]计算机存储数据前,先开辟空间,在存储数据

5

4字节

32位

0000 0000 0000 0000 0000 0000 0000 0000

[原码]规定了字节个数,写明了富豪为,得到了原码

0000 0000 0000 0000 0000 0000 0000 00011

1000 0000 0000 0000 0000 0000 0000 0001-1

——————————————————————

1000 0000 0000 0000 0000 0000 0000 0010-2

[结论:计算机不以原码的形式存储数据]

[反码]

1(正数的反码是其原码)

原码:0000 0000 0000 0000 0000 0000 0000 0001

反码:0000 0000 0000 0000 0000 0000 0000 0001

-1(负数的反码是原码的符号位不变,其他位取反)

原码:1000 0000 0000 0000 0000 0000 0000 0001

反码:1111 1111 1111 1111 1111 1111 1111 1110

——————————————————————

1111 1111 1111 1111 1111 1111 1111 1111

[结论]计算机不以反码存储数据

[补码]

[结论]计算机以补码的形式存储数据

1

原码:0000 0000 0000 0000 0000 0000 0000 0001

反码:0000 0000 0000 0000 0000 0000 0000 0001

补码:0000 0000 0000 0000 0000 0000 0000 0001

(正数的原码、反码、补码是一样的)

-1

原码:1000 0000 0000 0000 0000 0000 0000 0001

反码:1111 1111 1111 1111 1111 1111 1111 1110

补码:1111 1111 1111 1111 1111 1111 1111 1111负数的补码是反码加一

1111 1111 1111 1111 1111 1111 1111 1111

1、把补码当作原码来看

2、找到它的反码

1000 0000 0000 0000 0000 0000 0000 0000符号位不变,按位取反

3、找到它的补码

1000 0000 0000 0000 0000 0000 0000 0001反码加一

相关文章

  • C语言入门开发-进制

    进制 1:二进制 [十进制]0 1 2 3 4 5 6 7 8 9 (逢十进一) [二进制]0 1 (逢二进一) ...

  • 零基础怎样学习好C/C++?

    C++比C多了两个加号,C++比C语言难学吗?如何入门C++?C++基础入门学什么?后期开发学什么? C++语言诞...

  • C语言快速入门 - Hello World 详解

    目录 C语言快速入门 C语言快速入门 - Hello World 详解 C语言快速入门 - 变量 C语言快速入门 ...

  • C语言快速入门 - 简单运算符

    目录 C语言快速入门 C语言快速入门 - Hello World 详解 C语言快速入门 - 变量 C语言快速入门 ...

  • C语言快速入门 - 控制语句

    目录 C语言快速入门 C语言快速入门 - Hello World 详解 C语言快速入门 - 变量 C语言快速入门 ...

  • C语言快速入门 - 变量

    目录 C语言快速入门 C语言快速入门 - Hello World 详解 C语言快速入门 - 变量 C语言快速入门 ...

  • C语言快速入门

    目录 C语言快速入门 C语言快速入门 - Hello World 详解 C语言快速入门 - 变量 C语言快速入门 ...

  • 你猜什么是iOS语言?

    iOS开发语言包括?iOS开发语言都有哪些?如何快速学习iOS入门语言? iOS开发语言主要包括:C语言基础、Ob...

  • C++入门篇

    C语言入门教程,C语言入门书籍《C语言小白变怪兽》_C语言中文网 C++入门教程,全套C++基础教程(已更新完毕)...

  • 前言

    前言 本书作为编程达人系列汇编\C语言教材的第一本入门教材,讲述的内容是进制、汇编基础、C语言基础语法。本书并没有...

网友评论

      本文标题:C语言入门开发-进制

      本文链接:https://www.haomeiwen.com/subject/reyyfttx.html