信息的表示和处理(待补充)

信息存储


在计算机中,数据的基本单元是字节,字节的概念类似于生活中米、秒等基本单位。一个字节表示 8个位,至于为什么是8个位,这其中有些不可描述的原因。

以二进制数 10010100 为例子, 它一共有8位,刚好 表示 一个字节。
可以表示成10进制数的 148 ,也能可以表示成十六进制的 0x94. 不管用什么进制来表示 ,它们代表的“数” 本质上都是相同的,多少进制这些不过是表象而已。

有了上面的例子,二进制 00010100 表示的内容是啥呢?十进制的20? 还是空格?(ascii码中空格的编码值就是这个)
其实具体表示的哪个值要视上下文而定,所以在C语言中要指定变量的类型是整数还是字符。

进制的转换

进制转换最简单的方法就是 百度 ”在线进制转换“ ……..
二进制转十六进制非常简单,只要从后面算起,每四位二进制直接转成十六进制即可,最后不足四位的补0. 比如刚才的 10010100 ,将左右两边拆成 1001 (9) 和 0100 (4), 最终十六进制表示为: 0x94 .

十进制转二进制: 不断地除以2,然后取余数。
150转成2进制的过程

字是一个抽象的概念,计算机的一个字表示整数类型以及指针类型数据 用二进制数表示的位数。

大端小端

不同的机器表示数据的顺序方向可能不同,有的从左到右,有的从右到左,分别对应于大端和小端表示法。

整数表示

整型数据类型

二进制表示整数, 除去最左的一位表示正负外, 别的用来表示整数的大小.

无符号数的编码

直接拿二进制的所有位来表示一个正整数.

补码编码

正数: 直接用二进制表示
负数: 绝对值的二进制取反后加1

有符号数与无符号数之间的转换

都是取反再加一

整数运算

加法

补码表示法可以将减法运算变成加法运算.

乘法

无符号的乘法与加法类似,他的运算方式是比较简单的,只是也可能产生溢出.对于两个w位的无符号来说,他们的乘积范围在0到(2的w次方-1)的平方之间,因此可能需要2w位的二进制才能表示
与加法运算类似,补码乘法也是建立在无符号的基础之上的,因此我们可以很容易的得到,对于两个w位的补码数来说,假设它们的真实乘积为pro,则实际得到的乘积为 U2Tw(pro mod 2w)

除法

除法有时更慢,只能针对除数可表示为2k的除法运算进行优化,转换为算数右移或者逻辑右移k位的运算.

浮点数

二进制小数

十进制小数转二进制小数用 乘2取整法 , 二进制小数并不能精确地表示十进制小时.

IEEE浮点数表示

IEEE754标准将表示浮点数的二进制分成三部分: 符号位+阶+尾数.

浮点数乘法

①阶码相加减
②尾数相乘或相除
③结果规格化并进行舍入处理
④判断溢出

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值