C Primer Plus (第五版)中文版——第 15 章 位操作

本文详细介绍了C语言中的位操作,包括二进制数、位和字节的概念,以及位逻辑运算符和移位运算符的使用。重点讲解了有符号整数的表示、二进制浮点数的存储方式,以及八进制和十六进制数。同时,阐述了C语言中位字段的概念和应用,帮助理解如何在结构体中定义和使用位字段。
摘要由CSDN通过智能技术生成

15.1  二进制数、位和字节

以2为基数表示的数字称为二进制数(binary number)。二进制使用2的幂,使用的数字是0和1。

15.1.1  二进制整数

一个字节(byte)通常包括8个位(bit)。在字节中,位7称为高位(high-order bit),为0称为低位(low-order bit)。一个字节可以存储的数的范围是0~255,总共256(2^8)个可能的值。改变对位模式的解释方式,一个字节可以存储从-128~+127之间的整数,总共256(2^8)个可能的值。

15.1.2  有符号整数

有符号数的表示方法是由硬件决定的,而不是由 C 决定。通常保留高位来表示数的符号。

15.1.3  二进制浮点数

浮点数分两部分存储:一个二进制小数和一个二进制指数。

一、二进制小数

在二进制小数中,使用2的幂作为分母。实际上,二进制计数法只能精确地表示多个1/2的幂的和,许多小数不能用其精确表示。

二、浮点数表示法

要在计算机中表示一个浮点数,需要留出若干个位存放一个二进制小数,其他为存放一个指数。

15.2  其他基数

15.2.1  八进制

八进制(octal):以8为基数的数制系统。该系统使用8的幂,使用的数字是0~7。1个八进制位对应于3个二进制位。

15.2.2  十六进制

十六进制(hexadecimal):以16为基数的数制系统。该系统使用16的幂,使用的数字࿰

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值