标签「c」下的文章

bjmayor发布于2021-10-14

原码、补码、反码

原码、补码、反码

一个数在计算机中的二进制表示形式, 叫做这个数的机器数。机器数是带符号的,在计算机用一个数的最高位存放符号, 正数为0, 负数为1.

将带符号位的机器数对应的真正数值称为机器数的真值。如: 10000011 的真值是3。

原码: 原码就是符号位加上真值的绝对值, 即用第一位表示符号, 其余位表示值。原码是人脑最容易理解和计算的表示方式.

反码:反码的表示方法是: 正数的反码是其本身,负数的反码是在其原码的基础上, 符号位不变,其余各个位取反。

补码: 补码的表示方法是:正数的补码就是其本身,负数的补码是在其原码的基础上, 符号位不变, 其余各位取反, 最后+1. (即在反码的基础上+1)

阅读全文»

bjmayor发布于2021-10-14

大字节序 v 小字节序

端序(Endianness),又称字节序、尾序、位序。在计算机领域是指机器存放多字节数据的字节顺序。在涉及到低层数据存储和网络数据传输研究中都会涉及端序。

大端序(Big-Endian,大尾序):高位字节放在内存的低地址,低位字节放在内存的高地址。

小端序(Little-Endian,小尾序):低位字节放在内存的低地址,高位字节放在内存的高地址。

端序是与硬件的体系结构相关而与所使用的操作系统无关的概念,目前基本上所有x86系列的PC机都是小端序。

阅读全文»

bjmayor发布于2021-10-14

浮点数

浮点数的存储

float可以保证十进制科学计数法小数点后6位有效精度和第7位的部分精度

double可以保证十进制科学计数法小数点后15位有效精度和第16位的部分精度。

阅读全文»

bjmayor发布于2021-08-29

C 程序设计语言-读书笔记

[TOC]

《C 程序设计语言》。C语言经典版本。必读。 语法之外,主要是1988年出的ANSI标准。

学习一门语言。语法:1%, 标准库:10%, 惯用法:5%, 其他:84%。

导言

C语言通用规则: 在允许使用某种类型变量值的任何场合,都可以使用该类型的更复杂的表达式。

修改"20"等不明其意的幻数的方式是定义一个有意义的名字。

#define 名字 替换文本 # 注意,这里没有分号。。。

#define 指令行末尾没有分号。

标准库提供的输入/输出模型非常简单。无论文本从何处输入,输出到何处,其输入/输出都是按照字节流的方式处理。

字符在机器内部是以位模式出现的。char类型专门存储这类数据。getchar() 返回值之所以是int, 是因为EOF是个特殊的int, 在我的mac上是-1。在windows上Ctrl+Z输入EOF, 在mac上是Ctrl+D

阅读全文»