随笔分类 - C语言
摘要:C基本数据类型 C基本的数据类型说明: C declaration Bytes Signed Unsigned 32-bits 64-bits [signed]char unsigned char 1 1 short unsigned short 2 2 int unsigned 4 4 long
阅读全文
摘要:举例说明:比如32对应的2进制为2b'100000,对应的bitmask为2b'11111。 实现代码: #include <stdio.h> typedef unsigned char uint8_t; typedef unsigned int uint32_t; /* 获取某一个数有多少bit
阅读全文
摘要:奇偶校验原理(来自百度百科):奇偶校验(Parity Check)是一种校验代码传输正确性的方法。根据被传输的一组二进制代码的数位中“1”的个数是奇数或偶数来进行校验。采用奇数的称为奇校验,反之,称为偶校验。 C代码实现如下: #include <stdio.h> #define uint32_t
阅读全文
摘要:前言 C标准库源码可通过下列两个网站进行查看:The GNU C Library、Welcome to uClibc-ng! - Embedded C library 以下学习记录也是以这两个网站提供的库函数源码进行学习的。 字符串相关 strcpy()函数 头文件:#include <string
阅读全文
摘要:在使用malloc、memset、free的过程中,出现了程序奔溃,大致现象如下。 程序的实现大致如下: #include <stdio.h> #include <stdlib.h> #include <string.h> int main (void) { int tab_bits = 0, ta
阅读全文
摘要:1 原理 参考文档:CRC校验 (qq.com) 参考书籍:《计算机网络(第7版)-谢希仁》 1.1 原理简介 CRC是一种检错方法。 在发送端,先把数据划分为组,假定每组k个比特。现假定待传送的数据M = 101001(k = 6)。CRC运算就是在数据M的后面添加供差错检测用的n位冗余码,然后构
阅读全文
摘要:举例说明: ptp.txt文件中的内容为: 7a7ac0a8c80100000000003388f70002002c00000400000000000000000000000000000000000000000000000000000011111100000000000000 解析之后为: 7a 7
阅读全文
摘要:直接给出示例,来说明问题: 示例1: 1 #include "stdio.h" 2 3 void func(int argc, char *args[]) 4 { 5 int i = 0; 6 7 for (i = 0; i < argc; i++) { 8 printf("%s\n", args[
阅读全文
摘要:简介 《Computer_Systems_A_Programmers_Perspective(3rd)》中对大小端的描述如下: 比如:有一个32位的数据0x01234567,在大端模式的机器上,低地址(0x100)存放的是数据的高字节(0x01);在小端模式的机器上,低地址(0x100)存放的是数据
阅读全文
摘要:使用C语言实现一个简易的CLI,命令通过模式进行划分,实现效果如下: 代码较为简单,主要是为了方便进行移植,这里就不进行详细的说明了。 代码路径:https://github.com/zhengcixi/easy_cli 代码的编写过程中参考了博主编写的Makefile,这里也给出链接:https:
阅读全文
摘要:1、要求说明 例如有个数据为a = 0x10,要求打印输出为0x000010。 2、实现 1 #include <stdio.h> 2 3 4 int main() 5 { 6 int a = 0x10; 7 8 printf("%#08x\n", a); 9 10 return 0; 11 }
阅读全文
摘要:在程序开发过程中,我们经常会用到按位拷贝一串二进制数,在此提供一个按位拷贝的函数给大家参考,函数源码如下: 1 #define char_t char 2 #define uint8_t unsigned char 3 #define int8_t signed char 4 #define uin
阅读全文