进制术语和小数存储方式

本文介绍了如何将十进制小数转换为二进制,重点讲解了补码在计算机中的应用,包括数据存储、运算规则以及C语言中的进制表示。还涉及了符号位的作用和不同数据类型(如正数、负数、有符号/无符号)的二进制表示方法。
摘要由CSDN通过智能技术生成

十进制的小数转换成二进制:

小数部分和2相乘,取整数,不足1取0;每次相乘都是小数部分,顺序看取整的数就是转化后的结果。(有三位小数,就取3位二进制代替)

0.432    011   2^-1   2^-2   2^-3  0.25+0.125=0.375 ,使用0.375进行近似,都不是准确数(可以进行往下乘会无线接近这个数字,然后直到位数存储满)

数据在计算机中主要以补码形式存储

100MB  理想除以8  12.5m/bit峰值

计算机中存储的最小单位是字节(Byte)

双字节:WORD,汉字一般双字节(Windows)三字节(Linux)

双WORD:DWORD,4个字节

八进制以0开头,十六进制以0x开头

c语言不能直接书写二进制(机器语言??)

c语言中进制的表现形式有3种:十进制,八进制,十六进制

计算机中使用补码存储的原因:

1.统一0的存储方式:都用0000 0000作为原码

2.将符号位和其他位统一处理(符号位也可以参与计算)

3.将减法计算变为加法计算,只会加法(10-10变成10+(-10))

0000 1010      10

1111  0110     -10

4.两个用补码表示的数相加时候,最高位(符号位)有进位,则进位被舍弃

正数三码一致

76-32

76      原码:0100 1100     

-32     原码:1010 0000     反码:1101 1111    补码:1110 0000

0100 1100

1110 0000

0010 1100      44补码

原码:0010 1100    2^5+2^3+2^2=32+8+4=44

76-82

-82   原码:1101 0010

反码:1010 1101

补码:1010 1110

0100 1100 

1010 1110

1111  1010   -6补码

1000  0110   2^2+2^1=6

(-0变为-128,+0为0)有符号的8位,范围是-128~+127

无符号8位:0~255

数据存储将-0对应的二进制码变为最小值-128

数据存储的最大值+1后,变为存储的最小值

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值